Переместите слоистый навигационный блок между панелью инструментов списка продуктов и списком продуктов

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

Вопрос

Я переместил слоистый навигационный блок в раздел содержимого, однако не могу понять, как позиционировать блок. Я могу заставить его показать только в самом верхней части страницы или внизу. Мне это нужно перед списком продукта и после панели инструментов. Пока что мой XML выглядит так:

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

Но это, похоже, не работает. Какие-либо предложения?

Спасибо

Это было полезно?

Решение

Причина, по которой ваша многослойная навигация отображается только внизу или в верхней части страницы, заключается в том, что вы добавляете блок на неправильном блоке «Уровень».

Вы добавили блок в блок content который имеет только два прямых дочерних блока: category.products а также product.tooltip. Анкет Поэтому вы можете добавить только свой блок вверху, между этими двумя блоками или внизу.

Как перемещать слоистую навигацию между панелью инструментов списка продуктов и списком продуктов

Добавьте этот код в свой макет 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>

Это будет шаг многослойный навигационный блок от левого столбца к столбцу содержимого без воссоздания занятий и тому подобного. Вы можете видеть, что я вставил блок в детстве блока product_list.

Если вы позвоните на страницу, вы увидите, что слоистая навигация вообще не отображается. Это потому, что против content Блок, product_list Блок не выводит все детские блоки по умолчанию. Вы должны повторить блокировку в файл шаблона.

Копия app/design/frontend/base/default/template/catalog/product/list.phtml (Замените базу/по умолчанию на базовую тему, если вы используете другую в качестве отправной точки) на свою тему и сообщите Magento выход Слоистая навигация сразу после первой панели инструментов:

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

Вы получите что -то подобное и сможете продолжить:

Layered navigation position between product list toolbar and product list

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top