Отображать (сортировать по, сравнивать блок продуктов) слева?
Я использую magento 1.7 и хочу изменить положение моего блока "сортировать по" и блока "сравнить" влево. Что я должен сделать для этого?
3 answers
Перемещения макета включают сброс с исходного родительского элемента и вставку в новый родительский элемент.
В local.xml
в вашей пользовательской теме layout
папка (создайте, если у вас ее нет), вы должны добавить следующее:
<default>
<!-- Move compare sidebar block from right to left -->
<action method="unsetChild" block="right"><child>catalog.compare.sidebar</child></action>
<action method="insert" block="left"><child>catalog.compare.sidebar</child></action>
</default>
Что касается блока "Сортировать по" - это часть так называемой панели инструментов , которая содержит все остальные элементы управления, и есть дополнительные факторы, которые делают этот вид беспорядочным для перемещения. Та же картина, что и выше, справедлива - имя блока в макете product_list_toolbar, родительский блок product_list, и вам нужно будет выполнить эти директивы в следующих дескрипторах:
- catalog_category_дефолт
- catalog_category_слоенный
- каталог_результат_индекс
- catalogsearch_ расширенный_результат
В идеале это должно включать директиву обновления макета update
, но в этом случае это может не сработать контекст, поскольку директивы на основе update
обрабатываются раньше всех других директив в конкретном дескрипторе, в который они были включены, что означает, что вы будете работать с блоками, которые не были созданы. Вы могли бы уменьшить количество раз, когда вам нужно вызывать свои директивы, используя дескрипторы customer_logged_out и customer_logged_in, которые, как правило, выполняются в конце обработки макета, но это похоже на небольшую ошибку.
По крайней мере у вас есть несколько вариантов.
<reference name="left">
<block type="catalog/product_compare_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
</reference>
Напишите этот код app\design\frontend\default\YOUR_THEME\layout\catalog.xml вместо
<reference name="right">
<block type="catalog/product_compare_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
</reference>
Спасибо всем за ваши идеи. Я переместил много блоков, которые я хочу, чтобы они отображались слева, например, product_list_related, product_list_related, product_viewed, cart_sidebar. Это помогает, и это решение, которое я добавил:
Я изменил шаблон, используемый в catalog.xml .
Перед ним 2 столбца -справа.phtml
Страница/2columns-справа.phtml
И теперь 2 столбца-слева.phtml
Страница/2колонны-слева.phtml
Я изменяю положение product_compare_sidebar и product_list_ связаны слева
Я изменился в reports.xml продукт просматривается справа налево
Я изменился в chekout.xml панель управления корзиной справа налево
Спасибо:)