Mehr als ein Element in der geschichteten Navigation auswählen (mehrere Auswahl- / Kontrollkästchen)

12

Wie konvertiere Sie die Standard - Schicht Navigation zu Kontrollkästchen oder mehrere Auswahleingänge für Attribute des Typs zu verwenden , Drop - Down - oder Mehrfachauswahl ?

Wenn ein Benutzer beispielsweise Blau und Rot als Farbattribut auswählt , werden in der geschichteten Navigation alle Elemente angezeigt, die entweder mit Blau ODER Rot übereinstimmen .

Siehe Beispiel in der Symbolleiste auf dieser Seite:

Alizain Prasla
quelle
Wie bist du damit umgegangen? Wofür hast du dich entschieden?
jharrison.au
@ jharrison.au .. Nun, ich habe Select Dropdown in COLOR SWITCHER und SIZE geändert. Es ist noch nicht vielfach.
Alizain Prasla

Antworten:

10

Es gibt viele Erweiterungen, die Ihnen diese Funktionalität bieten (suchen Sie nach "Enhanced Layered Navigation"). Ich habe alle unten aufgelisteten Erweiterungen ausprobiert, aber mein Favorit ist das E-Commerce-Team - ich mag es wegen seiner minimalistischen Natur, es versucht nicht zu viel, ist aber sehr leistungsfähig und funktioniert sofort . Es werden auch Farbfelder unterstützt, wie Sie beschrieben haben.

Einige andere in keiner bestimmten Reihenfolge:

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

Beachten Sie, dass dies Konflikte mit anderen Modulen von Drittanbietern verursachen kann.


Wenn Sie dies hauptsächlich mit Farbfeldern tun möchten, empfehlen wir Ihnen diese Erweiterung von Chad Morgan.


Hier ist ein Artikel von Inchoo über das Sichtbarmachen der nicht verwendeten Filter.


Wenn Sie dies selbst codieren möchten, ist die Antwort auf Ihre Frage möglicherweise zu lang für dieses Forum. Ich habe keinen Link zu einem Blogbeitrag / Tutorial, in dem Ihnen gezeigt wird, wie das geht, aber ich empfehle, mit der Erweiterung der geschichteten Navigationsblöcke zu beginnen.

jharrison.au
quelle
6
Ich habe das Amasty-Modul verwendet und würde empfehlen, es auszuprobieren. Das Aitoc-Modul würde ich allerdings nicht mit einem 10'-Pol anfassen ... oder einem ihrer Module für diese Angelegenheit.
Davidalger
Das Amasty-Modul funktioniert nicht mit benutzerdefinierten Attributen, die eine Quelle verwenden, die von einem benutzerdefinierten EAV-Modell unterstützt wird. Dies war ein Problem für uns, da unsere Attribute über die externe API ausgefüllt werden.
Greatwitenorth
8

Wenn Sie nur die Standardebenennavigation in Kontrollkästchen konvertieren möchten, ist die Lösung sehr einfach. Platzieren Sie sie hier.

Bearbeiten Sie den Code der app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmlDatei wie folgt:

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

Die Lösung ist eine verbesserte Version davon . Der Kredit geht also auch an diese Person.

Imran Zahoor
quelle