Déplacer le bloc de navigation entre les couches barre d'outils de la liste des produits et la liste des produits

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

Question

Je l'ai déplacé le bloc de navigation en couches dans la section du contenu mais je ne peux pas comprendre comment positionner le bloc. Je ne peux l'obtenir pour montrer à tout le haut de la page ou en bas. J'ai besoin avant la liste des produits et après la barre d'outils. Jusqu'à présent, mon apparence xml comme ceci:

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

Mais cela ne semble pas fonctionner. Toutes les suggestions?

Merci

Était-ce utile?

La solution

La raison pour laquelle votre navigation en couches ne montre que en bas ou en haut de la page que vous ajoutez le bloc au mauvais bloc « niveau ».

Vous avez ajouté le bloc au content bloc qui a seulement deux blocs enfants directs: category.products et product.tooltip. Par conséquent, vous ne pouvez ajouter votre bloc en haut, entre ces deux blocs ou en bas.

Comment déplacer la barre de navigation en couches entre la barre d'outils de la liste des produits et la liste des produits

Ajoutez ce code à votre mise en page 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>

Cette volonté move le bloc de navigation en couches de la colonne de gauche à la colonne contenu sans classes recréer et autres. Vous pouvez voir que j'inséré le bloc comme un enfant du product_list bloc.

Si vous appelez la page maintenant, vous verrez que la navigation en couches n'apparaît pas du tout. En effet, contrairement au bloc content, le bloc product_list ne sortie tous les blocs enfants par défaut. Vous devez faire l'écho du bloc vous-même dans le fichier modèle.

Copier app/design/frontend/base/default/template/catalog/product/list.phtml (remplacer la base / default avec votre thème de base si vous utilisez un autre comme point de départ) à votre thème et dire Magento sortie la navigation en couches directement après la première barre d'outils:

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

Vous obtiendrez quelque chose comme ça et peut aller d'ici:

position de navigation entre les couches barre d'outils de la liste des produits et la liste des produits

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top