Magento:比较产品链接不起作用

时间:2015-08-05 14:34:20

标签: php magento

我的产品比较链接不起作用。这是在Magento 1.9。

My issues are almost identical to this post,但清除索引不起作用。还有什么我可以尝试的吗?

以下是问题:

当我点击产品上的“添加到比较”时,会显示一条消息,指出“此类产品已成功添加到比较列表”。

然而,比较产品侧边栏显示“您没有要比较的项目。”

我可以告诉表格catalog_compare_item正在填充正确的访客ID和产品ID,但如果我在template / catalog / product / compare / sidebar.phtml中填写print_r($this->helper('catalog/product_compare')->getItemCount()),“0 “归来了。

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

2 个答案:

答案 0 :(得分:7)

从评论中看,您的Magento数据库看起来没有report_compared_product_index表。

导入以下SQL以在数据库中创建此表结构。

CREATE TABLE IF NOT EXISTS `report_compared_product_index` (
`index_id` bigint(20) unsigned NOT NULL COMMENT 'Index Id',
  `visitor_id` int(10) unsigned DEFAULT NULL COMMENT 'Visitor Id',
  `customer_id` int(10) unsigned DEFAULT NULL COMMENT 'Customer Id',
  `product_id` int(10) unsigned NOT NULL COMMENT 'Product Id',
  `store_id` smallint(5) unsigned DEFAULT NULL COMMENT 'Store Id',
  `added_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Added At'
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Reports Compared Product Index Table' AUTO_INCREMENT=1 ;

ALTER TABLE `report_compared_product_index`
 ADD PRIMARY KEY (`index_id`), ADD UNIQUE KEY `UNQ_REPORT_COMPARED_PRODUCT_INDEX_VISITOR_ID_PRODUCT_ID` (`visitor_id`,`product_id`), ADD UNIQUE KEY `UNQ_REPORT_COMPARED_PRODUCT_INDEX_CUSTOMER_ID_PRODUCT_ID` (`customer_id`,`product_id`), ADD KEY `IDX_REPORT_COMPARED_PRODUCT_INDEX_STORE_ID` (`store_id`), ADD KEY `IDX_REPORT_COMPARED_PRODUCT_INDEX_ADDED_AT` (`added_at`), ADD KEY `IDX_REPORT_COMPARED_PRODUCT_INDEX_PRODUCT_ID` (`product_id`);

如果有帮助,请告诉我。

答案 1 :(得分:1)

第1步:确保数据库中有“report_compared_product_index”表。

第2步:清除缓存并执行索引

第3步:转到以下网址

app\code\core\Mage\Catalog\Helper\Product\Compare.php

找到以下功能

public function calculate($logout = false)

并将代码评论为

 // first visit
       // if  (!$this->_catalogSession->hasCatalogCompareItemsCount() && !$this->_customerId) {
//            $count = 0;
  //      } else {
            /** @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item_Collection */
            $collection = Mage::getResourceModel('catalog/product_compare_item_collection')
                ->useProductItem(true);
            if (!$logout && $this->_customerSession->isLoggedIn()) {
                $collection->setCustomerId($this->_customerSession->getCustomerId());
            } elseif ($this->_customerId) {
                $collection->setCustomerId($this->_customerId);
            } else {
                $collection->setVisitorId($this->_logVisitor->getId());
            }

            /* Price data is added to consider item stock status using price index */
            $collection->addPriceData();

            $this->_productVisibility->addVisibleInSiteFilterToCollection($collection);

            $count = $collection->getSize();
       // }

        $this->_catalogSession->setCatalogCompareItemsCount($count);

        return $this;

如果您还有任何查询,请告诉我

由于

Sagar的