Birkaç farklı Magento sitesindeki bir sayfada belirli bir kategorinin ürün koleksiyonunu alıyorum. Koleksiyon almak için kodum:
$category = new Mage_Catalog_Model_Category();
$category->load($id);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
$collection->addAttributeToFilter('status', 1);
$collection->addFieldToFilter(array(array('attribute'=>'visibility', 'neq'=>"1" )));
$collection->getSelect()->limit(12);
foreach ($collection as $shopProduct) :
echo $shopProduct->getProductUrl();
endforeach;
Benim sorunum Magento sitelerinden birinde çalıştırılmakta olan ProductUrl()
varlık bir URL gibi http://www.my site.com/catalog/product/view/id/2309/s/shopcat/category/373/
ve daha fazla değil gibi olmasıdır http://www.site.com/shopcat/product-url-key.html
. Ancak diğer tüm sitelerde istediğimiz gibi görünüyor.
Bunun neden olabileceğini bilen var mı? Teşekkürler! Ben getUrlPath()
de kullanmayı denedim ama bu bir şey dönmedi. Biliyorum böyle bir şey yaparak bunu başarabilirim <?php echo $this->getBaseUrl().$shopProduct->getUrlKey().".html"; ?>
ama bu yöntem biraz verimsiz görünüyor!
EDIT 21/03/14: Bu sorunu hala yaşıyorum. getProductUrl()
Sitenin bazı şablon dosyalarında istenen URL'yi aldım , diğerleri değil. Örneğin, ana sayfaya bir koleksiyon yüklüyorum ve bana istediğim URL'leri veriyor. Ancak getProductUrl()
bana kategori görünümünde aynı kodla istediğim URL'leri vermiyor.