Déplacer le bloc de navigation entre les couches barre d'outils de la liste des produits et la liste des produits
-
16-10-2019 - |
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
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: