Я хочу изменить режим отображения моей категории, если есть активные фильтры. Я мой config.xml событие:Получить активные фильтры в наблюдателе в magento
<events>
<catalog_block_product_list_collection>
<observers>
<mycustom_module_observer>
<type>singleton</type>
<class>Mycustom_Module_Model_Observer</class>
<method>setCategoryDisplayMode</method>
</mycustom_module_observer>
</observers>
</catalog_block_product_list_collection>
</events>
И мой наблюдатель метод:
public function setCategoryDisplayMode(Varien_Event_Observer $observer)
{
$category = Mage::registry('current_category');
$appliedFilters = Mage::getSingleton('catalog/layer')
->getState()
->getFilters();
if (!empty($appliedFilters)) {
$category->setDisplayMode("PRODUCTS");
}
}
Но я не могу получить активные фильтры с $appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();
ли я делаю что-то неправильно или мое событие неправильно?
Я также пробовал с Mage::getSingleton('Mage_Catalog_Block_Layer_State')->getActiveFilters();
, но не удался.