我有2种语言的Magento商店设置(EN和RU),我没有修改任何后端代码,因为它显示了tagId产品列表。
对于俄语标签,整个页面以俄语显示,但列表中的产品标题除外,出于某种原因,这些标题仍以英语显示。有问题的产品有两种语言的翻译。
我尝试在核心/Mage/Tag/Model/Tag.php和/Mage/Tag/Model/Block/Product/List.php中设置storeId,但没有运气,默认代码将商店ID设置为/Mage/Tag/Model/Block/Product/Result.php是这样的:
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;
}
我到处搜索过这个问题,但在任何地方找不到任何类似的情况。
非常感谢任何帮助
答案 0 :(得分:1)
我通过调试我的/app/design/frontend/package/theme/template/catalog/product/list.phtml修复了它。我意识到如果我在" foreach"之后得到产品名称收集它没关系,但之后的一些行不是。
问题在于加载了media_gallery属性的自定义函数:
$product->load('media_gallery')
我解决了将其改为:
$product = Mage::getModel('catalog/product')->load($product->getId());
我希望它可以帮助您,或者至少您可以调试list.phtml并获取产品失去其属性的位置。