Сравнить товары Боковая панель товара не показывает товары - PullRequest
5 голосов
/ 07 апреля 2010

Когда я нажимаю «Добавить для сравнения» на продукт, появляется сообщение о том, что «такой-то продукт успешно добавлен в список сравнения», однако на боковой панели продуктов сравнения «У вас нет товаров для сравнения». Если я сделаю print_r($this->helper('catalog/product_compare')->getItemCount()) в template/catalog/product/compare/sidebar.phtml, будет возвращено «0».

Почему на боковой панели не отображаются продукты для сравнения?

Информация: Magento версия 1.4.0.1 Сессии, кажется, работают, потому что я могу добавить товары в корзину, и они останутся в корзине, когда я буду перемещаться по сайту.

Спасибо, Ben

Ответы [ 5 ]

18 голосов
/ 07 апреля 2010

Нашли решение после нескольких часов поиска: Один или несколько индексов необходимо перестроить.

В случае, если кто-то еще сталкивается с этой проблемой, возможность вызвать перестроение индекса можно найти в интерфейсе администратора, перейдя в меню Система и выбрав Управление индексами .

2 голосов
/ 29 июня 2011

Я внес изменения в этот файл:

Приложение \ код \ ядро ​​\ Mage \ Каталог \ Helper \ Продукт \ Compare.php

из строки 215. Я закомментировал оператор if.

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

и в строке 235. Прокомментировал закрывающую скобку:

/*}*/

Это сработало для меня.

Я думаю, что это решение.

1 голос
/ 09 ноября 2015

Другая причина, по которой инструменты сравнения могут быть повреждены, - некоторые оптимизации сайта, например отключение определенных событий, таких как

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>
0 голосов
/ 27 июня 2015

У меня та же проблема, и это из-за моего браузера (chrome), я переключаюсь на Firefox, и опция «Добавить в сравнение» работает нормально.

0 голосов
/ 05 июля 2013
app\code\core\Mage\Catalog\Helper\Product\Compare.php at line 257

комментарий, если заявление не работает в сообществе 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...