Je veux changer le mode d'affichage de ma catégorie s'il y a des filtres actifs. Je mon événement config.xml est:Obtenir des filtres actifs dans l'observateur dans 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>
Et mon observateur méthode:
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");
}
}
Mais je ne suis pas capable d'obtenir des filtres actifs avec $appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();
I Is fais quelque chose de mal ou mon événement est faux?
J'ai également essayé avec Mage::getSingleton('Mage_Catalog_Block_Layer_State')->getActiveFilters();
mais sans succès.