Wybierz więcej niż jeden element w nawigacji warstwowej (wiele pól wyboru / pól wyboru)

12

Jak przekonwertować standardową warstwowy nawigację do korzystania wyboru lub wybierz kilka wejść dla atrybutów typu rozwijanej lub wielokrotny ?

Na przykład, jeśli użytkownik wybierze niebieski i czerwony dla atrybutu koloru, nawigacja warstwowa pokazuje wszystkie elementy pasujące do niebieskiego LUB czerwonego.

Zobacz przykład na pasku narzędzi na tej stronie:

Alizain Prasla
źródło
Jak poszedłeś z tym? Z czego zdecydowałeś się skorzystać?
jharrison.au
@ jharrison.au .. No cóż, zmieniłem wybierz rozwijane w PRZEŁĄCZNIK KOLORÓW i ROZMIAR. Nie jest jeszcze wiele.
Alizain Prasla

Odpowiedzi:

10

Istnieje wiele rozszerzeń, które zapewnią tę funkcjonalność (wyszukaj „ulepszoną nawigację warstwową”). Wypróbowałem wszystkie wymienione poniżej rozszerzenia, ale moim ulubionym jest zespół e-commerce - podoba mi się to z powodu minimalistycznego charakteru, nie stara się robić zbyt wiele, ale jest bardzo wydajny i działa dobrze po wyjęciu z pudełka. Obsługuje również próbki kolorów, jak opisano.

Niektóre inne w określonej kolejności:

  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

Należy pamiętać, że mogą powodować konflikty z modułami innych firm.


Jeśli chcesz to zrobić głównie z próbkami kolorów, sugeruję sprawdzenie tego rozszerzenia autorstwa Chada Morgana.


Oto artykuł Inchoo o utrzymywaniu widoczności nieużywanych filtrów.


Jeśli szukasz tego kodu, myślę, że odpowiedź na twoje pytanie może być za długa dla tego forum. Nie mam linku do postu / samouczka na blogu, który uczy, jak to zrobić, ale sugeruję zacząć od rozszerzenia warstwowych bloków nawigacyjnych.

jharrison.au
źródło
6
Korzystałem z modułu Amasty i polecam go sprawdzić. Jednak moduł Aitoc nie dotknąłbym 10-biegunowym biegunem ... ani żadnym z ich modułów.
davidalger
Moduł Amasty nie będzie działał z żadnymi niestandardowymi atrybutami korzystającymi ze źródła wspieranego przez niestandardowy model eav. To był dla nas problem, ponieważ nasze atrybuty są wypełniane za pomocą zewnętrznego interfejsu API.
greatwitenorth,
8

Jeśli chcesz tylko przekonwertować domyślną nawigację warstwową do pól wyboru, rozwiązanie jest bardzo łatwe i umieścisz ją tutaj.

Edytuj kod app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmlpliku w następujący sposób:

<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>

Rozwiązaniem jest ulepszona wersja tego . Podziękowania należą się również tej osobie.

Imran Zahoor
źródło