Отображать (сортировать по, сравнивать блок продуктов) слева?


Я использую magento 1.7 и хочу изменить положение моего блока "сортировать по" и блока "сравнить" влево. Что я должен сделать для этого?

Author: benmarks, 2013-09-03

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, которые, как правило, выполняются в конце обработки макета, но это похоже на небольшую ошибку.

По крайней мере у вас есть несколько вариантов.

 3
Author: benmarks, 2013-09-03 12:58:08
<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>
 0
Author: Keyur Shah, 2013-09-03 12:32:50

Спасибо всем за ваши идеи. Я переместил много блоков, которые я хочу, чтобы они отображались слева, например, 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 панель управления корзиной справа налево

Спасибо:)

 -1
Author: Amirov, 2013-09-05 12:07:17