我想在我的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 -如何添加分层导航到高级搜索?