Saya menemukan pertanyaan ini, bertanya-tanya sama. Dan kalau-kalau ada orang lain yang membutuhkan ini kapan-kapan, saya akan posting temuan saya sendiri di sini.
Saya menemukan dua metode untuk mendapatkan URL produk tanpa memuat produk lengkap. Karena saya bekerja pada server yang lambat, saya perlu menemukan metode pemuatan tercepat.
Metode pertama:
Dapatkan pertama adalah koleksi produk berdasarkan ID produk:
$_item = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('product_url')
->addAttributeToFilter('entity_id', $productId)
->addUrlRewrite()
->load();
foreach($_item as $product){
echo $product->getProductUrl();
}
// returns string "http://www.your-domain.com/[category]/[product_url]"
Metode kedua:
Metode kedua, menggunakan metode Kalpesh Metha, akan menjadi kode ini:
Mage::getResourceSingleton('catalog/product')
->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore());
// returns string "product-url-like-this"
Untuk metode ini, Anda dapat menggunakan 'url_key'
atau 'url_path'
. Saya belum menemukan perbedaannya.
Perbedaan antara metode:
Metode pertama membutuhkan waktu sedikit lebih banyak (sekitar 15% waktu tambahan). Namun metode kedua, hanya mengembalikan bagian akhir dari URL. Ini berarti bahwa jika toko menggunakan kategori dalam URL, itu tidak akan berfungsi, karena bagian itu tidak ditampilkan. Ini adalah kasus di toko yang sedang saya kerjakan.