标签上的Magento产品列表以错误的语言显示标题

时间:2014-10-11 19:22:22

标签: php magento

我有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;
}

我到处搜索过这个问题,但在任何地方找不到任何类似的情况。

非常感谢任何帮助

1 个答案:

答案 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并获取产品失去其属性的位置。