2013-01-10 14 views
6

Ich möchte aktive Filter auf meiner Magento E-Commerce-Site implementieren.Magento Aktive Filter auf der Suchseite

Ich habe es bei der Umsetzung erfolgreich, aber das Problem ist, funktioniert der Code nur auf Kategorieseiten und nicht die Seite

ist die Suche Hier ist der Code, den ich

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

mit Ich bin Verwenden Sie diesen Code in toolbar.phtml. Irgendein Hinweis wie, warum es auf der Suchseite nicht funktioniert. Jede Lösung wäre eine große Hilfe.

Danke,

Sushil

Antwort

7

Sie diesen Code für das Abrufen Filter auf jeder Kategorie Listenseite oder Suchergebnisseite

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

ich verwendet habe diesen Code in toolbar.phtml verwenden können, um entfernbare Filter unterhalb der Werkzeugleiste zu zeigen, wie Flipkart tut.

+1

WOW! das hat wie ein Zauber funktioniert !!! Danke Herr Dhanesh !!! :) –

1

Das Problem ist, mit dieser Zeile:

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

Das Singleton bekommt, die nur, wenn sie auf einer Kategorie-Seite die notwendigen Daten enthält.

Sehen Sie diese Frage für weitere Informationen: Magento - How to add Layered Navigation to Advanced Search?

+0

Also gibt es keine Möglichkeit, dies auf der Katalog-Suchseite zu bekommen? –

+0

Es ist wahrscheinlich, aber Sie würden einige umfangreiche Codierung und Know-how mit Magento – pzirkind

Verwandte Themen