2010-04-07 42 views
5

Khi tôi nhấp vào "Thêm để so sánh" trên sản phẩm, thông báo cho biết rằng "sản phẩm được thêm thành công vào danh sách so sánh" xuất hiện, tuy nhiên thanh bên sản phẩm so sánh hiển thị " Bạn không có thứ gì để so sánh." Nếu tôi làm một số print_r($this->helper('catalog/product_compare')->getItemCount()) trong số template/catalog/product/compare/sidebar.phtml, "0" sẽ được trả lại.So sánh sản phẩm Thanh bên không hiển thị sản phẩm

Tại sao thanh bên sẽ không hiển thị các sản phẩm để so sánh?

Thông tin: Phiên bản Magento 1.4.0.1 Phiên có vẻ hoạt động để tôi có thể thêm sản phẩm vào giỏ hàng và chúng sẽ vẫn ở trong giỏ hàng khi tôi điều hướng xung quanh trang web.

Cảm ơn bạn, Bến

+0

Đầu mối # 1: Nếu tôi chuyển sang một bản sao sạch (hoặc hầu như sạch) của db trong khi để lại các tệp trên đĩa bị ảnh hưởng, sản phẩm sẽ so sánh các tác phẩm. Vì vậy, nó không phải là một vấn đề cấu hình lưu trữ db. –

Trả lời

18

Tìm thấy các giải pháp sau nhiều giờ tìm kiếm: Một hoặc nhiều các chỉ số cần phải được xây dựng lại.

Trong trường hợp bất cứ ai khác gặp vấn đề này, các tùy chọn để kích hoạt chỉ số xây dựng lại được tìm thấy trong giao diện quản trị bằng cách vào Hệ thống menu và chọn Quản lý Index.

+0

Tôi cũng đã gặp sự cố này. Và một reindex cố định vấn đề, nhưng chỉ tạm thời.Bạn có gặp phải vấn đề tương tự không? Nếu vậy, sửa chữa của bạn là gì? – mattalxndr

+0

@Ben Gribaudo Cảm ơn rất nhiều vì đã đăng giải pháp, tôi chỉ lãng phí vài giờ để tìm giải pháp nhưng không tìm thấy và đột nhiên tôi truy cập câu hỏi của bạn và đọc câu trả lời của bạn, nó hoạt động hoàn hảo. Bây giờ tôi có một câu hỏi cần lưu ý nếu xây dựng lại chỉ mục thường được yêu cầu sau đó lưu trữ khách truy cập/người dùng có thể gặp phải vấn đề tương tự nhưng không tốt, có giải pháp vĩnh viễn nào cho vấn đề này không? –

+0

Cảm ơn, cũng đã làm việc cho tôi. –

2

tôi đã thực hiện những thay đổi trong hồ sơ này:

ứng dụng \ đang \ core \ Mage \ Catalog \ Helper \ Sản phẩm \ Compare.php

từ dòng 215. Tôi đã đã nhận xét câu lệnh if.

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

và trên đường dây 235. nhận xét khung đóng cửa ra:

/*}*/ 

Nó làm việc cho tôi.

Tôi nghĩ đó là giải pháp.

0
app\code\core\Mage\Catalog\Helper\Product\Compare.php at line 257 

bình luận câu lệnh if không hoạt động trên Magento cộng đồng 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(); 
} 
0

Tôi có cùng một vấn đề và đó là do trình duyệt của tôi (chrome), tôi chuyển sang firefox và Tùy chọn 'Thêm vào So sánh' hoạt động tốt.

1

Lý do khác mà so sánh cụ thể được chia là một số tối ưu hóa trang web như vô hiệu hóa các sự kiện nhất định như

controller_action_predispatch controller_action_postdispatch

Kiểm tra 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> 

và loại bỏ

 <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> 
Các vấn đề liên quan