Как получить все элементы для активных фильтров в Magento Layered Navigation? - PullRequest
3 голосов
/ 16 декабря 2010

Как только фильтр становится активным, он возвращает 0 элементов, поэтому он больше не будет отображаться в «ОПЦИЯХ ПОКУПКИ» Для моей пользовательской многоуровневой навигации мне нужно получить и показать эти элементы. Я знаю, что некоторые расширения уже делают это (и предоставляют флажки рядом с элементом), но я хотел бы знать, как сделать это самому.

Ответы [ 2 ]

1 голос
/ 19 декабря 2010

На самом деле, это очень сложная проблема, потому что вы НЕ МОЖЕТЕ получить элементы из активного фильтра. Этот «фильтр» больше не является фильтром, теперь он является состоянием и, следовательно, не может давать вам какие-либо элементы (см. app\design\frontend\base\default\template\catalog\layer\state.phtml и сравните его с filter.phtml). Что вы МОЖЕТЕ сделать, так это немного бороться с app\code\core\Mage\Catalog\Model\Layer моделями, и особенно app\code\core\Mage\Catalog\Model\Resource\Eav\Mysql4\Layer\Filter\Attribute.php. Это ресурс, который выполняет всю работу по добавлению слоев, подсчету продуктов по слоям ... Если вы знакомы с объектом Zend Select и немного интересуетесь mysql, вы можете легко достичь того, что вы хотите, с помощью многоуровневой навигации.

Насколько я знаю, большинство коммерческих модулей используют AJAX для имитации некоторых новых многоуровневых функций навигации (они на самом деле не портятся).

Если вы не знакомы с разработкой Magento, многоуровневая навигация, вероятно, является худшим местом для начала ...

1 голос
/ 17 декабря 2010

Если вы хотите, чтобы ваши многоуровневые навигационные фильтры отображались, когда результаты для фильтра равны 0, тогда все, что вам нужно сделать, - это отредактировать атрибуты продукта и установить Использовать в слоистой навигации = фильтруемый (без результата).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...