Aynı soruyu merak ederek bu soruyu buldum. Ve sadece bir başkasının buna ihtiyaç duyması durumunda, kendi bulgularımı buraya göndereceğim.
Ürünün tamamını yüklemeden URL adresini almak için iki yöntem buldum. Yavaş bir sunucu üzerinde çalıştığım için en hızlı yükleme yöntemini bulmam gerekiyordu.
İlk yöntem:
İlki, ürün kimliğine dayalı bir ürün koleksiyonu:
$_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]"
İkinci yöntem:
Kalpesh Metha'nın yöntemini kullanan ikinci yöntem bu kod olacaktır:
Mage::getResourceSingleton('catalog/product')
->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore());
// returns string "product-url-like-this"
Bu yöntem için, birini kullanabilirsiniz 'url_key'
veya 'url_path'
. Aradaki farkı bulamadım.
Yöntemler arasındaki fark:
İlk yöntem biraz daha fazla zaman alır (yaklaşık% 15 ekstra zaman). Ancak ikinci yöntem, yalnızca URL’nin son bölümünü döndürür. Bu, mağazanın URL’deki kategoriyi kullanması durumunda, o kısım gösterilmediğinden, çalışmayacağı anlamına gelir. Üzerinde çalıştığım dükkandaki durum buydu.