Spostare blocco di navigazione più livelli tra lista dei prodotti barra degli strumenti e lista dei prodotti

magento.stackexchange https://magento.stackexchange.com/questions/7977

Domanda

Ho spostato il blocco di navigazione a strati nella sezione contenuti però io non riesco a capire come posizionare il blocco. Posso solo farlo per mostrare in cima alla pagina o in fondo. Ne ho bisogno prima della quotazione del prodotto e dopo la barra degli strumenti. Finora il mio aspetto XML come questo:

 <reference name="content">
     <block type="catalog/layer_view" name="catalog.leftnav" before="product_list" after="product_list_toolbar" template="catalog/layer/view.phtml"/>
</reference>

Ma questo non sembra funzionare. Qualche suggerimento?

Grazie

È stato utile?

Soluzione

Il motivo per la vostra navigazione più livelli mostra solo nella parte inferiore o nella parte superiore della pagina è che si aggiunge il blocco a "livello" sbagliato blocco.

È aggiunto il blocco alla content blocco che ha solo due blocchi figli diretti: category.products e product.tooltip. Pertanto si può solo aggiungere il blocco in alto, tra questi due blocchi o in basso.

Come spostare la navigazione a strati tra la barra degli strumenti elenco dei prodotti e l'elenco dei prodotti

Aggiungi il codice al tuo Layout XML :

<?xml version="1.0"?>
<layout version="0.1.0">
    <catalog_category_layered>
        <reference name="left">
            <action method="unsetChild"><alias>catalog.leftnav</alias></action>
        </reference>
        <reference name="product_list">
            <action method="insert"><blockName>catalog.leftnav</blockName></action>
        </reference>
    </catalog_category_layered>
</layout>

Questa volontà Sposta il blocco di navigazione a strati dalla colonna di sinistra alla colonna di contenuti senza classi ricreare e simili. Si può vedere ho inserito il blocco come un bambino del product_list blocco.

Se si chiama la pagina ora si vedrà che la navigazione a strati non viene visualizzato affatto. Questo perché contrari al blocco content, il blocco product_list non emette tutti i blocchi figlio per impostazione predefinita. Bisogna eco il blocco te stesso nel file di modello.

Copia app/design/frontend/base/default/template/catalog/product/list.phtml (sostituzione di base / default con il tema di base se si utilizza un altro come punto di partenza) al vostro tema e dire Magento a uscita la navigazione a strati direttamente dopo la prima barra degli strumenti:

<?php if(!$_productCollection->count()): ?>
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
<?php else: ?>
<div class="category-products">
    <?php echo $this->getToolbarHtml() ?>
    <?php echo $this->getChildHtml('catalog.leftnav'); /* THIS IS THE NEW LINE */ ?>
    <?php // List mode ?>

Si otterrà qualcosa di simile e può andare a partire da qui:

posizione di navigazione Layered tra lista dei prodotti della barra degli strumenti e l'elenco dei prodotti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top