Selecione mais de um item na navegação em camadas (várias caixas de seleção / seleção)

12

Como você converter a navegação em camadas padrão a usar caixas ou várias entradas de seleção para atributos do tipo suspensa ou multiselect ?

Por exemplo, se um usuário seleciona azul e vermelho para o atributo color, a navegação em camadas mostra todos os itens que correspondem a azul OU vermelho.

Veja o exemplo na barra de ferramentas nesta página:

Alizain Prasla
fonte
Como você foi com este? O que você decidiu usar?
jharrison.au
@ jharrison.au .. Bem, eu mudei selecione drop down em COLOR SWITCHER e SIZE. Ainda não é múltiplo.
Alizain Prasla

Respostas:

10

Existem muitas extensões por aí que oferecem essa funcionalidade (pesquise "navegação em camadas aprimorada"). Eu tentei todas as extensões listadas abaixo, mas a minha favorita é pela equipe de comércio eletrônico - eu gosto da natureza minimalista, ela não tenta fazer muito, mas é muito poderosa e funciona muito bem. Também possui suporte para amostras de cores como você descreveu.

Alguns outros em nenhuma ordem específica:

  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

Esteja ciente de que isso pode causar conflitos com outros módulos de terceiros.


Se você deseja fazer isso principalmente com amostras de cores, sugiro que você verifique esta extensão por Chad Morgan.


Aqui está um artigo do Inchoo sobre como manter os filtros não utilizados visíveis.


Se você deseja codificar isso pessoalmente, acho que a resposta à sua pergunta pode ser muito longa para este fórum. Não tenho um link para uma postagem / tutorial do blog ensinando como fazer isso, mas sugiro começar com a extensão dos blocos de navegação em camadas.

jharrison.au
fonte
6
Eu usei o módulo Amasty e recomendo dar uma olhada. O módulo Aitoc, no entanto, eu não tocaria com um polo de 10 pés ... ou com qualquer um de seus módulos.
Davidalger
O módulo Amasty não funcionará com nenhum atributo personalizado que use uma fonte suportada por um modelo eav personalizado. Esse foi um problema para nós, pois nossos atributos são preenchidos via API externa.
#
8

Se você está interessado apenas em converter a navegação em camadas padrão em caixas de seleção, a solução é muito fácil e a coloca aqui.

Edite o código do app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmlarquivo da seguinte maneira:

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

A solução é uma versão melhorada disso . Portanto, o crédito também vale para essa pessoa.

Imran Zahoor
fonte