Как я могу вставить блок перед панировочными сухарями или сразу после меню на каждой странице?


Я хотел бы добавить блок на веб-сайт (в целом на каждой странице) чуть ниже меню, но не в заголовок, "корневой", в конечном итоге "контент".

Мне удалось добавить его в контент, но это не то, что я хотел.

=> Мой макет :

    <reference name="content">
        <block type="core/template" name="banman" before="-" template="banman/block.phtml"/>
    </reference>

Это то, что мне нужно было, чтобы поместить его туда.

Поскольку я использую Ultimo (последняя версия), перед всем остальным есть слайдер.

Слайдер находится в "корне", поэтому я подумал, если я изменю "содержимое" в "корень", тогда я смогу разместить его до или после слайдера, но это не работает.

Я могу добавить его в top.container, и он отлично работает. Но я не могу сдвинуть его с места раньше, чем появятся хлебные крошки.

Не нравится, как это выглядит, если я помещу его в меню.Строка меню находится слишком высоко.

Author: sv3n, 2017-12-28

1 answers

Если вы хотите добавить свой новый блок на всех страницах после панировочных сухарей:

1) приложение/дизайн/интерфейс/{пакет}/{тема}/layout/local.xml

<default>
    <reference name="root">
        <block type="core/template" name="banman" template="banman/block.phtml"/>
    </reference>
</default>

2) приложение/дизайн/интерфейс/{пакет}/{тема}/шаблон/страница/1 столбец.phtml

Добавьте это:

<?php echo $this->getBlockHtml('banman') ?>

После этого:

<?php echo $this->getChildHtml('breadcrumbs') ?>

Примечание: Если вы хотите, чтобы ваш блок был просто отображен на какой-либо странице, то же самое, но xml будет изменено следующим образом:

<your_layout_handle>
    <reference name="root">
        <block type="core/template" name="banman" template="banman/block.phtml"/>
    </reference>
</your_layout_handle>

РЕДАКТИРОВАТЬ

Чтобы отобразить ваш блок с условием конфигурации, вам необходимо добавить поле конфигурации в system.xml многовариантный выбор, чтобы позвонить в Magento, на странице которого вы хотите отобразить свой блок примерно так:

<fields>
    <displayblock translate="label">
        <label>Where you want to display the banman block</label>
        <frontend_type>multiselect</frontend_type>
        <source_model>yourmodule/system_config_source_view</source_model>
        <sort_order>40</sort_order>
        <show_in_default>1</show_in_default>
    </displayblock>
</fields>

У вас есть пример здесь

Примечание: Не забудьте добавить это в app/design/frontend/{package}/{theme}/template/page/1column.phtml

if(Mage::getStoreConfig('section/group/field')){
    <?php echo $this->getBlockHtml('banman') ?>
}

ПРАВКА2:

Как вставить мой блок без изменение local.xml

Перейдите в свой phtml, где вы хотите отобразить свой блок, и добавьте это, вам не нужен с этим xml

<?php echo $this->getLayout()->createBlock('core/template')->setTemplate('path_to_your_block')->toHtml(); ?>

Вы можете установить createBlock('block/type') с вашим типом блока .

 2
Author: PЯINCƏ, 2018-01-03 10:04:38