Выберите более одного элемента в многоуровневой навигации (множественный выбор / флажки)


12

Как преобразовать стандартную многоуровневую навигацию, чтобы использовать флажки или множественные входные данные для атрибутов типа dropdown или multiselect ?

Например , если пользователь выбирает , синего и красного для атрибута цвета, слоистые навигации показывает все элементы сопоставления либо синего или красного цвета.

Смотрите пример на панели инструментов на этой странице:


Как ты прошел с этим? Что вы решили использовать?
jharrison.au

@ jharrison.au .. Ну, я изменил выпадающий список в ЦВЕТНОЙ ПЕРЕКЛЮЧАТЕЛЬ и РАЗМЕР. Его еще не многократно.
Ализайн Прасла

Ответы:


10

Существует множество расширений, которые дадут вам эту функциональность (поиск «расширенная многоуровневая навигация»). Я перепробовал все перечисленные ниже расширения, но мое любимое - от Ecommerce Team - мне нравится его минималистичный характер, он не пытается делать слишком много, но очень мощный и хорошо работает из коробки. Он также имеет поддержку образцов цвета, как вы описали.

Некоторые другие в произвольном порядке:

  1. http://amasty.com/improved-navigation.html
  2. http://www.aitoc.com/en/magentomods_layered_navigation_pro.html
  3. http://www.manadev.com/seo-layered-navigation-plus
  4. http://www.gomage.com/extensions/gomage-advanced-navigation.html

Помните, что это может привести к конфликтам с другими сторонними модулями.


Если вы в основном хотите сделать это с образцами цветов, я предлагаю вам проверить это расширение от Чеда Моргана.


Вот статья Inchoo о сохранении неиспользуемых фильтров видимыми.


Если вы хотите написать это самостоятельно, я думаю, что ответ на ваш вопрос может быть слишком длинным для этого форума. У меня нет ссылки на сообщение в блоге / учебное пособие, где объясняется, как это сделать, но я предлагаю начать с расширения многоуровневых блоков навигации.


6
Я использовал модуль Amasty и рекомендую проверить его. Модуль Aitoc, однако, я бы не стал касаться 10-полюсным ... или любым из их модулей в этом отношении.
Давидгер

Модуль Amasty не будет работать с любыми пользовательскими атрибутами, которые используют источник, поддерживаемый пользовательской моделью eav. Это было проблемой для нас, так как наши атрибуты заполняются через внешний API.
greatwitenorth

8

Если вас интересует только преобразование многоуровневой навигации по умолчанию в флажки, решение очень простое и разместить его здесь.

Измените код app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmlфайла следующим образом:

<ol>
<?php foreach ($this->getItems() as $_item): ?>
    <li>
        <?php if ($_item->getCount() > 0): ?>
            <form>
                <span class="check-box">
                    <input type="checkbox" name="vehicle" onclick='window.location.assign("<?php echo $this->urlEscape($_item->getUrl()) ?>")'/>
                </span>
                <a href="<?php echo $this->urlEscape($_item->getUrl()) ?>">
                    <?php echo $_item->getLabel() ?>
                    <?php if ($this->shouldDisplayProductCount()): ?>
                    <span class="count">(<?php echo $_item->getCount() ?>)</span>
                    <?php endif; ?>
                </a>
            </form>
        <?php else: ?>
            <form>
                <span class="check-box">
                    <input type="checkbox" name="vehicle" onclick='window.location.assign("<?php echo $this->urlEscape($_item->getUrl()) ?>")'/>
                </span>
                <span>
                    <?php echo $_item->getLabel(); ?>
                    <?php if ($this->shouldDisplayProductCount()): ?>
                        <span class="count">(<?php echo $_item->getCount() ?>)</span>
                    <?php endif; ?>
                </span>
            </form>
        <?php endif; ?>
    </li>
<?php endforeach ?>
</ol>

Решение улучшенной версии этого . Так что заслуга также принадлежит этому человеку.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.