我有一个用两种语言(EN和RU)设置的Magento商店,我没有修改页面的任何后端代码,它按tagId显示产品列表。
对于俄语标签,除了列表中产品的标题外,整个页面都以俄语显示,出于某种原因,这些标题仍然以英语显示。有问题的产品有两种语言的翻译。
我试过在core/Mage/Tag/Model/Tag.php和/Mage/Tage/Model/Block/Product/List.php中设置storeId,但没有成功,默认代码在/Mage/Ttag/Model/Bock/Product/Result.php中设置了这样的storeId:
protected function _getProductCollection()
{
if(is_null($this->_productCollection)) {
$tagModel = Mage::getModel('tag/tag');
$this->_productCollection = $tagModel->getEntityCollection()
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
->addTagFilter($this->getTag()->getId())
->addStoreFilter(Mage::app()->getStore()->getId())
->addMinimalPrice()
->addUrlRewrite()
->setActiveFilter();
Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($this->_productCollection);
Mage::getSingleton('catalog/product_visibility')->addVisibleInSiteFilterToCollection(
$this->_productCollection
);
}
return $this->_productCollection;
}
我到处找这个问题,但在任何地方都找不到类似的案例。
如有任何帮助,将不胜感激
我通过调试/app/design/frontend/package/theme/template/controlog/product/list.phtml修复了它。我意识到,如果我在"foreach"集合之后获得产品名称,它是可以的,但之后的一些行就不可以了。
加载media_gallery属性的自定义函数出现问题:
$product->load('media_gallery')
我解决了将其更改为:的问题
$product = Mage::getModel('catalog/product')->load($product->getId());
我希望它能帮助你,或者至少你可以调试你的list.phtml,并找到产品失去属性的地方。