2013-01-10 16 views
6

Magentoの電子商取引サイトでアクティブなフィルタを実装したいと思います。Magentoアクティブフィルタ検索ページ

私はそれを実装することに成功しているが、問題がある、コードが唯一のカテゴリページ上で動作し、ページ

を検索していないここで私は私は

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

を使用しているコードですtoolbar.phtmlでこのコードを使用します。なぜその検索ページで動作していないかのような手掛かり。どんな解決策も大きな助けになるでしょう。

おかげで、

スシル

答えて

7

あなたはどちらかのカテゴリリストページのフィルタを取得するためにこのコードを使用することができたり、検索結果ページを

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

私はtoolbar.phtmlにこのコードを使用しています、 flipkartのように、ツールバーの下にリムーバブルフィルタを表示する。

+1

WOW!それは魅力のように働いた!ありがとうMr. Dhanesh !!! :) –

1

は、問題は、この行を次のとおりです。

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

これは、カテゴリページ上必要なデータのみが含まれているシングルトンを取得します。

詳細については、この質問を参照してください:Magento - How to add Layered Navigation to Advanced Search?

+0

カタログ検索ページには表示されません。 –

+0

おそらくありますが、広範なコーディングが必要で、マゼンタの専門知識が必要です – pzirkind