代码之家  ›  专栏  ›  技术社区  ›  Ben Gribaudo

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

  •  5
  • Ben Gribaudo  · 技术社区  · 14 年前

    当我在产品上单击“添加到比较”时,会显示一条消息,说明“某个产品成功添加到比较列表”,但是比较产品侧栏会显示“您没有要比较的项目”。如果我执行 print_r($this->helper('catalog/product_compare')->getItemCount()) 在里面 template/catalog/product/compare/sidebar.phtml 0 “返回。

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

    信息:Magento版本1.4.0.1 会话似乎为我工作,我可以添加产品到购物车,他们将留在购物车,因为我在网站周围导航。

    非常感谢。

    5 回复  |  直到 14 年前
        1
  •  18
  •   Ben Gribaudo    14 年前

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

    系统 索引管理 .

        2
  •  2
  •   Bastardo Deepesh    13 年前

    我对此文件进行了更改:

    从第215行开始。我已经把if语句注释掉了。

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

    在第235行,最后一个括号被注释掉了:

    /*}*/
    

    它对我有用。

        3
  •  1
  •   Pawel Dubiel    9 年前

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

    控制器\u动作\u预分配 控制器\u操作\u后调度

    <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>
    
        4
  •  0
  •   bob    11 年前
    app\code\core\Mage\Catalog\Helper\Product\Compare.php at line 257
    

    如果语句在magento社区v1.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();
    }
    
        5
  •  0
  •   user3806649    9 年前