Настройка виджета Magento 1 в бэкэнде - как мне двигаться вверх


У меня есть настройка виджетов на всех страницах категорий через серверную часть -> CMS -> Виджеты

Теперь, когда я использую этот метод, я выбираю блок для страниц категорий, и блок отображается красиво. Он находится в нижней части всей остальной информации в левой колонке.

Но как мне переместить блок наверх? (над слоистым и т. Д.)...

Альтернативой является использование local.xml, которое я не предпочитаю+ оно также отображается на ВСЕХ моих сайтах, которые используют одно и то же тема.

Author: Ayaz Ahmed Khan, 2013-01-23

2 answers

Проблема в том, что в Magento нет контейнера виджетов в верхней части левого столбца. Вы можете создать такой контейнер в два этапа:

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

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

Теперь вы можете зайти в панель администратора и выбрать свой Верхний левый столбец контейнер для обновления макета виджета.

 12
Author: Ivan Chepurnyi, 2013-02-03 16:31:44

Вы можете попробовать вызвать этот блок, используя

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('BLOCK_ID_HERE')->toHtml() ?>

Вставьте приведенный выше код в:

Интерфейс/по умолчанию/ВАША тема/шаблон/каталог/навигация/боковая панель.phtml

Над кодом, отображающим меню каталога.

Чтобы он не отображался на разных веб-сайтах, используйте разные темы для каждого веб-сайта.

 2
Author: Thomas Mongan, 2017-07-04 05:05:19