Seleziona più di un elemento nella navigazione a più livelli (più selezioni / caselle di controllo)


12

Come si converte la navigazione a livelli standard per utilizzare caselle di controllo o input di selezione multipla per attributi di tipo menu a discesa o selezione multipla ?

Ad esempio, se un utente seleziona blu e rosso per l'attributo color, la navigazione a strati mostra tutti gli elementi che corrispondono a blu o rosso.

Vedi esempio nella barra degli strumenti in questa pagina:


Come sei andato con questo? Cosa hai deciso di usare?
jharrison.au,

@ jharrison.au .. Beh, ho cambiato il menu a discesa in COLOR SWITCHER e SIZE. Non è ancora multiplo.
Alizain Prasla,

Risposte:


10

Ci sono molte estensioni là fuori che ti daranno questa funzionalità (ricerca di "navigazione a più livelli"). Ho provato tutte le estensioni elencate di seguito, ma la mia preferita è del team di e-commerce - mi piace per la sua natura minimalista, non cerca di fare troppo ma è molto potente e funziona bene fuori dalla scatola. Ha anche il supporto per i campioni di colore come hai descritto.

Alcuni altri in nessun ordine particolare:

  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

Tenere presente che potrebbero causare conflitti con altri moduli di terze parti.


Se stai principalmente cercando di farlo con i campioni di colore, ti suggerisco di dare un'occhiata a questa estensione di Chad Morgan.


Ecco un articolo di Inchoo su come rendere visibili i filtri non utilizzati.


Se stai cercando di scrivere questo codice da solo, penso che la risposta alla tua domanda potrebbe essere troppo lunga per questo forum. Non ho un link a un post / tutorial sul blog che ti insegna come farlo, ma suggerisco di iniziare con l'estensione dei blocchi di navigazione a strati.


6
Ho usato il modulo Amasty e consiglierei di provarlo. Il modulo Aitoc, tuttavia, non toccherei un polo da 10 '... o nessuno dei loro moduli per quella materia.
davidalger,

Il modulo Amasty non funzionerà con alcun attributo personalizzato che utilizza una sorgente supportata da un modello eav personalizzato. Questo è stato un problema per noi poiché i nostri attributi sono popolati tramite API esterne.
greatwitenorth

8

Se sei interessato solo a convertire la navigazione a strati predefinita in caselle di controllo, la soluzione è molto semplice e inserendola qui.

Modifica il codice del app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmlfile come segue:

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

La soluzione è una versione migliorata di questo . Quindi il merito va anche a questa persona.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.