2015-08-05 12 views
6

Il link per il confronto dei prodotti non funziona. Questo è in Magento 1.9.Magento: Confronta il collegamento prodotti non funziona

My issues are almost identical to this post, con l'eccezione che la cancellazione dell'indice non ha funzionato. C'è qualcos'altro che posso provare?

Ecco i temi:

Quando faccio clic su "Aggiungi al confronto" su un prodotto, viene visualizzato un messaggio che indica che "tale come-and-prodotto è stato aggiunto alla lista di comparazione".

Tuttavia la barra laterale dei prodotti di confronto mostra "Nessun articolo da confrontare".

Posso dire che la tabella catalog_compare_item viene popolata con l'ID visitatore corretto e l'ID prodotto, ma se faccio un print_r($this->helper('catalog/product_compare')->getItemCount()) in template/catalog/product/compare/sidebar.phtml, viene restituito "0".

Perché la barra laterale non mostra i prodotti da confrontare?

+0

Hai controllato che il i prodotti nell'elenco dei tuoi prodotti sono visibili, abilitati e disponibili? – Fuser97381

+0

si, si e si! i prodotti stanno bene in ogni modo. grazie per aver risposto a questa domanda !! – Jimmery

+0

Prego. Buona giornata. – Fuser97381

risposta

7

Dai commenti sembra che il DB Magento non abbia tabella report_compared_product_index.

Importare il seguente codice SQL per creare questa struttura di tabella nel DB.

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

Fammi sapere se questo aiuta.

1

Passaggio 1: assicurarsi di disporre della tabella "report_compared_product_index" nel database.

Fase 2: svuotare la cache ed eseguire l'indicizzazione

passo 3: andare al seguente URL

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

Trovare la seguente funzione

public function calculate($logout = false)

e commentando il codice come muggito

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

Fatemi sapere se avete ancora qualche domanda

Grazie

Sagar