Как я могу вставить блок перед панировочными сухарями или сразу после меню на каждой странице?
Я хотел бы добавить блок на веб-сайт (в целом на каждой странице) чуть ниже меню, но не в заголовок, "корневой", в конечном итоге "контент".
Мне удалось добавить его в контент, но это не то, что я хотел.
=> Мой макет :
<reference name="content">
<block type="core/template" name="banman" before="-" template="banman/block.phtml"/>
</reference>
Это то, что мне нужно было, чтобы поместить его туда.
Поскольку я использую Ultimo (последняя версия), перед всем остальным есть слайдер.
Слайдер находится в "корне", поэтому я подумал, если я изменю "содержимое" в "корень", тогда я смогу разместить его до или после слайдера, но это не работает.
Я могу добавить его в top.container, и он отлично работает. Но я не могу сдвинуть его с места раньше, чем появятся хлебные крошки.
Не нравится, как это выглядит, если я помещу его в меню.Строка меню находится слишком высоко.
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')
с вашим типом блока .