Mover el bloque de navegación en capas entre la barra de herramientas de la lista de productos y la lista de productos

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

Pregunta

He movido el bloque de navegación en capas a la sección de contenido, sin embargo, no puedo entender cómo colocar el bloque. Solo puedo hacer que se muestre en la parte superior de la página o la parte inferior. Lo necesito antes de la lista de productos y después de la barra de herramientas. Hasta ahora mi XML se ve así:

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

Pero eso no parece estar funcionando. ¿Alguna sugerencia?

Gracias

¿Fue útil?

Solución

La razón por la que su navegación en capas solo aparece en la parte inferior o en la parte superior de la página es que agrega el bloque al "nivel" de bloque incorrecto.

Agregaste el bloque al bloque content que solo tiene dos bloques infantiles directos: category.products y product.tooltip. Por lo tanto, solo puede agregar su bloque en la parte superior, entre estos dos bloques o en la parte inferior.

Cómo mover la navegación en capas entre la barra de herramientas de la lista de productos y la lista de productos

Agregue este código a su Diseño 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>

Esta voluntad Muevete el bloque de navegación en capas desde la columna izquierda a la columna de contenido sin recrear clases y similares. Puedes ver que inserté el bloque cuando era niño del bloque product_list.

Si llama a la página ahora, verá que la navegación en capas no se muestra en absoluto. Eso es porque se opone al content bloque, el product_list Block no emite todos los bloques infantiles de forma predeterminada. Tienes que hacer eco del bloque en el archivo de plantilla.

Copiar app/design/frontend/base/default/template/catalog/product/list.phtml (Reemplace la base/predeterminada con su tema base si usa otro como punto de partida) a su tema y dígale a Magento que producción La navegación en capas directamente después de la primera barra de herramientas:

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

Obtendrá algo como esto y puede continuar desde aquí:

Layered navigation position between product list toolbar and product list

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top