按标签列出的Magento产品列表显示的标题语言错误


Magento product list by tags shows titles in wrong language

我有一个用两种语言(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,并找到产品失去属性的地方。