Стояла задача создать отдельную cms страницу, где будет размещен блок layered navigation и содержимое категории, сделать это было необходимо с минимальными измнениями существующих файлов.
Для этого воспользовалась базовыми возможносяти Magento, а именно полями Layout Update XML (CMS page -> Design tab->Page Layout->Layout Update XML) и Content (CMS page -> Content -> Content).
Что бы изменения в шаблонах были минимальными пришлось создать 2 новых файла:
- catalog/product/filtered-list.phtml – для списка товаров
- catalog/layer/view_custom.phtml – для фильтра (layered navigation)
Для этого воспользовалась Layout Update XML (CMS page -> Design tab->Page Layout->Layout Update XML) и контентом.
В поле Content добавлен следующий код
1 |
{{block type="catalog/product_list" category_id="2" template="catalog/product/filtered-list.phtml"}} |
Который отвечает за вывод товаров категории, здесь category_id – номер категории, а template содержит путь к новому шаблону.
В поле Layout Update XML было добалено следующее
1 2 3 4 5 6 7 8 9 10 11 12 |
<remove name="tags_popular" /> // удаление ненужного мне блока <remove name="twitter_left" /> // удаление ненужного мне блока <reference name="left"> // добавление и изменение блока Layered Navigation <!-- Layered Navigation Block --> <block type="catalog/layer_view" name="catalog.leftnav" template="catalog/layer/view_custom.phtml" > // использование нового шаблона <action method="setCategoryId"><category_id>2</category_id></action> // id категории </block> </reference> <remove name="breadcrumbs" /> // удаляю ненужные хлебные крошки <reference name="root"> <action method="addBodyClass"><classname>customLayeredNavigationView</classname></action> // добавление желаемого класса к body </reference> |
Таким простым образом вы можете не только отображать блок layered navigation, но и вносить изменения в структуру страницы с минимальными изменениями в коде проекта.