2015-08-05 6 views
6

Mój link do porównania produktów nie działa. To jest w Magento 1.9.Magento: Porównaj produkty Link nie działa

My issues are almost identical to this post, z wyjątkiem tego, że czyszczenie indeksu nie działało. Czy jest coś jeszcze, co mogę spróbować?

Oto zagadnienia:

po kliknięciu „Dodaj do porównania” na produkt, pojawi się komunikat informujący, że „taki a taki produkt został dodany do listy porównania”.

Jednak pasek boczny porównania produktów pokazuje "Nie masz produktów do porównania".

Mogę powiedzieć, że tabela catalog_compare_item jest wypełniona poprawnym identyfikatorem odwiedzającego i identyfikatorem produktu, ale jeśli wykonam print_r($this->helper('catalog/product_compare')->getItemCount()) w szablonie/katalog/produkt/porównaj/sidebar.phtml, zwracane jest "0".

Dlaczego na pasku bocznym nie ma produktów do porównania?

+0

Czy sprawdzić, że mi znać, jeśli masz jeszcze jakieś zapytania

Dzięki

Sagarprodukty z listy produktów są widoczne, włączone i dostępne? – Fuser97381

+0

tak, tak i tak! produkty są w porządku pod każdym względem. dzięki za odpowiedź na to pytanie !! – Jimmery

+0

Nie ma za co. Miłego dnia. – Fuser97381

Odpowiedz

7

Z komentarzy wygląda na to, że Twoja Magento DB nie ma tabeli report_compared_product_index.

Zaimportuj następujący kod SQL, aby utworzyć strukturę tabeli w bazie danych.

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`); 

Daj mi znać, jeśli to pomoże.

1

Krok 1: Upewnij się, że w bazie danych znajduje się tabela "report_compared_product_index".

Krok 2: wyczyszczenie pamięci i wykonać indeksowanie

krok 3: przejdź do następującego adresu URL

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

Znajdź następującą funkcję

public function calculate($logout = false)

i komentowanie kodu jak miech

// 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;

Niech

Powiązane problemy