2013-01-10 16 views
6

Chcę zaimplementować aktywne filtry w mojej witrynie e-commerce Magento.Aktywne filtry Magento na stronie wyszukiwania

I okazały się skuteczne w realizacji, ale problem jest, kod działa tylko na stronach kategorii i nie szukaj strona

Oto kod, który używam

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

jestem używając tego kodu w toolbar.phtml. Jakakolwiek wskazówka, dlaczego nie działa na stronie wyszukiwania. Wszelkie rozwiązania będą bardzo pomocne.

Dzięki,

Sushil

Odpowiedz

7

Można użyć tego kodu do pobierania filtrów po obu stronach listy kategorii lub wyszukiwania Wyniki stronie

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

Użyłem tego kodu w toolbar.phtml, pokazywać wymienne filtry poniżej paska narzędzi, tak jak robi to flipkart.

+1

WOW! to działało jak urok !!! Dzięki, panie Dhanesh !!! :) –

1

problem jest z tej linii:

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

to dostaje tylko singleton który zawiera niezbędne dane, gdy na stronie kategorii.

Zobacz to pytanie więcej szczegółów: Magento - How to add Layered Navigation to Advanced Search?

+0

Więc nie ma sposobu, aby uzyskać to na stronie wyszukiwania katalogu? –

+0

Prawdopodobnie istnieje, ale potrzebujesz obszernego kodowania i wiedzy z magento – pzirkind