比较产品侧栏项目不显示产品

时间:2010-04-07 14:38:26

标签: magento

当我点击产品上的“添加到比较”时,会显示一条消息,指出“此类产品已成功添加到比较列表”,但比较产品侧栏显示“您没有要比较的项目”。如果我在print_r($this->helper('catalog/product_compare')->getItemCount())中执行了template/catalog/product/compare/sidebar.phtml,则会返回“0”。

边栏为什么不显示要比较的产品?

信息:Magento 1.4.0.1版 会话似乎有效,我可以将产品添加到购物车,当我浏览网站时,它们将保留在购物车中。

谢谢你, 本

5 个答案:

答案 0 :(得分:18)

经过几个小时的搜索后找到了解决方案: 需要重建一个或多个索引。

如果其他人遇到此问题,可以在管理界面中找到触发索引重建的选项,方法是转到系统菜单并选择索引管理

答案 1 :(得分:2)

我对此文件进行了更改:

  

应用\代码\核心\法师\目录\助手\产品\ Compare.php

来自第215行。我已经评论了if语句。

/*
if (!$this->_getSession()->hasCatalogCompareItemsCount()) {
    $count = 0;
} else {
*/

并在235行。评论结束括号:

/*}*/

它对我有用。

我认为这就是解决方案。

答案 2 :(得分:1)

比较工具可能被破坏的另一个原因是一些网站优化,例如禁用某些事件,如

controller_action_predispatch controller_action_postdispatch

检查etc / local.xml

<frontend>
    <events>
        <controller_action_predispatch>
            <observers><log><type>disabled</type></log></observers>
        </controller_action_predispatch>
        <controller_action_postdispatch>
            <observers><log><type>disabled</type></log></observers>
        </controller_action_postdispatch>
    </events>
</frontend>

并删除

        <controller_action_predispatch>
            <observers><log><type>disabled</type></log></observers>
        </controller_action_predispatch>
        <controller_action_postdispatch>
            <observers><log><type>disabled</type></log></observers>
        </controller_action_postdispatch>

答案 3 :(得分:0)

app\code\core\Mage\Catalog\Helper\Product\Compare.php at line 257

评论if语句不适用于magento社区v 1.7.0.2

/**
 * Retrieve count of items in compare list
 *
 * @return int
 */
public function getItemCount()
{

   if (!$this->_getSession()->hasCatalogCompareItemsCount()) {
        $this->calculate();
    }


    return $this->_getSession()->getCatalogCompareItemsCount();
}

答案 4 :(得分:0)

我有同样的问题,因为我的浏览器(chrome),我切换到firefox并且'添加到比较'选项正常工作。