Настройка виджета Magento 1 в бэкэнде - как мне двигаться вверх
У меня есть настройка виджетов на всех страницах категорий через серверную часть -> CMS -> Виджеты
Теперь, когда я использую этот метод, я выбираю блок для страниц категорий, и блок отображается красиво. Он находится в нижней части всей остальной информации в левой колонке.
Но как мне переместить блок наверх? (над слоистым и т. Д.)...
Альтернативой является использование local.xml
, которое я не предпочитаю+ оно также отображается на ВСЕХ моих сайтах, которые используют одно и то же тема.
2 answers
Проблема в том, что в Magento нет контейнера виджетов в верхней части левого столбца. Вы можете создать такой контейнер в два этапа:
-
Создайте контейнер блоков виджетов в local.xml файл:
<layout> <!-- category pages with layered navigation --> <catalog_category_layered> <update handle="custom_top_container" /> </catalog_category_layered> <!-- category pages without layered navigation --> <catalog_category_default> <update handle="custom_top_container" /> </catalog_category_default> <!-- custom block container on that page --> <custom_top_container> <reference name="left"> <block name="left_top" type="core/text_list" before="-" translate="label"> <label>Left Column Top</label> </block> <reference> </custom_top_container> </layout>
В следующем примере catalog_category_default и catalog_category_layered являются дескрипторами для страниц категорий, и дескриптор custom_top_container включен в эти страницы с помощью инструкции по обновлению макета. Новый блок left_top - это тип списка mage_core_block_text_list, который показывает объединенный вывод назначенных ему дочерних блоков, поэтому он будет пустым, если в него не добавлен виджет. Теперь, когда макет готов к настройке виджета, проверьте следующий шаг.
-
Создать widget.xml файл в каталоге etc вашей темы (если вы не хотите сохранять эту конфигурацию из темы, которую вы расширяете, вам нужно скопировать ее из этой темы в свою). Этот widget.xml должна содержать дополнительную информацию для Magento, чтобы знать, какие виджеты поддерживают ваш недавно созданный контейнер:
<widgets> <[widget_id]> <supported_blocks> <left_column_top> <block_name>left_top</block_name> </left_column_top> </supported_blocks> </[widget_id]> </widgets>
Этот файл конфигурации позволяет Magento узнать, какие блоки можно использовать для извлечения возможного контейнера в панели администратора.
Теперь вы можете зайти в панель администратора и выбрать свой Верхний левый столбец контейнер для обновления макета виджета.
Вы можете попробовать вызвать этот блок, используя
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('BLOCK_ID_HERE')->toHtml() ?>
Вставьте приведенный выше код в:
Интерфейс/по умолчанию/ВАША тема/шаблон/каталог/навигация/боковая панель.phtml
Над кодом, отображающим меню каталога.
Чтобы он не отображался на разных веб-сайтах, используйте разные темы для каждого веб-сайта.