1
アクティブなフィルタがある場合、カテゴリ表示モードを変更したいと思います。アクティブなフィルタをマジェンタで観測者に取得
<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>
そして、私の観察者は方法があるある:私は私のconfig.xmlのイベントがあるしている
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();
でも試しましたが、成功しませんでした。