搜索页面上的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. php中使用此代码。任何线索,为什么它不工作在搜索页面。任何解决办法都会大有帮助的。

谢谢,

Sushil

您可以使用此代码在类别列表页面或搜索结果页面获取过滤器

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

我已经在工具栏中使用了这个代码。在工具栏下方显示可移动过滤器,就像flipkart一样。

问题出在这一行:

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

这将获得一个单例,该单例仅包含在类别页面上所需的数据。

查看这个问题了解更多细节:Magento -如何添加分层导航到高级搜索?

最新更新