Переместите слоистый навигационный блок между панелью инструментов списка продуктов и списком продуктов
-
16-10-2019 - |
Вопрос
Я переместил слоистый навигационный блок в раздел содержимого, однако не могу понять, как позиционировать блок. Я могу заставить его показать только в самом верхней части страницы или внизу. Мне это нужно перед списком продукта и после панели инструментов. Пока что мой 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 ?>
Вы получите что -то подобное и сможете продолжить: