Magento Получить выбранный фильтр в многоуровневой навигации

В Magento, если атрибут "color" выбран в многоуровневой навигации, значения "color" автоматически исчезают, и результаты отображаются. Как получить имя выбранного фильтра?

Ответ 1

Все прикладные фильтры сохраняются в объекте состояния уровня. Вы можете легко получить их, используя следующий фрагмент:

$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();

Он вернет вам массив объектов элемента фильтра. Вы можете получить имя и прикладное значение одного элемента фильтра, выполнив что-то вроде этого:

foreach ($appliedFilters as $item) {
    $item->getName(); // Name of the filter
    $item->getLabel(); // Currently selected value
    $item->getFilter()->getRequestVar(); // Filter code (usually attribute code, except category filter, where it equals "cat")
}