2013-01-10 40 views
6

Tôi muốn triển khai các bộ lọc hoạt động trên trang web thương mại điện tử Magento của tôi.Bộ lọc hoạt động Magento trên Trang tìm kiếm

tôi đã thành công trong việc thực hiện nó, nhưng vấn đề là, mã hoạt động trên trang thể loại duy nhất và không tìm kiếm trang

Dưới đây là đoạn code mà tôi đang sử dụng

<?php /*Create filter dependencies*/ 

$_activeFilters[] = array(); 

$_filters = Mage::getSingleton(‘Mage_Catalog_Block_Layer_State’)->getActiveFilters(); 

foreach ($_filters as $_filter):?> 
<?php echo $this->stripTags($_filter->getLabel()) ?><a href=”<?php echo $_filter-  >getRemoveUrl() ?>” title=”<?php echo $this->__(‘Remove This Item’) ?>”><?php echo $this->__(‘Remove This Item’) ?></a> 
<?php endforeach; ?> 

Tôi sử dụng mã này trong toolbar.phtml. Bất kỳ đầu mối nào là tại sao nó không hoạt động trên trang tìm kiếm. Mọi giải pháp sẽ giúp ích rất nhiều.

Cảm ơn,

Sushil

Trả lời

7

Bạn có thể sử dụng mã này để lấy các bộ lọc trên cả hai trang danh sách hạng mục hoặc trang kết quả tìm kiếm

<?php 
    if(Mage::registry('current_category')) { 
     $_filters = Mage::getSingleton('catalog/layer')->getState()->getFilters(); 
    } else { 
     $_filters = Mage::getSingleton('catalogsearch/layer')->getState()->getFilters(); 
    } 
    ?> 

Tôi đã sử dụng mã này trong toolbar.phtml, để hiển thị các bộ lọc có thể tháo rời bên dưới thanh công cụ, như flipkart.

+1

WOW! tiếng Anh> Tiếng Việt!!! Cảm ơn ông Dhanesh !!! :) –

1

Vấn đề là với dòng này:

$_filters = Mage::getSingleton(‘Mage_Catalog_Block_Layer_State’)->getActiveFilters(); 

Điều này được một singleton mà chỉ chứa các dữ liệu cần thiết khi trên trang danh mục.

Xem câu hỏi này để biết thêm chi tiết: Magento - How to add Layered Navigation to Advanced Search?

+0

Vì vậy, không có cách nào để có được điều này trên trang tìm kiếm danh mục? –

+0

Có thể có, nhưng bạn sẽ cần một số mã hóa mở rộng và chuyên môn với magento – pzirkind

Các vấn đề liên quan