Заголовок Magento в макете - PullRequest
2 голосов
/ 06 ноября 2011

Я загрузил пользовательский модуль в magento, который загружает блок в макет, используя ссылку:

<reference name="content">
    <block type="ibanner/content_top" name="ibanner_content_top" template="my_ibanner/content/top.phtml" before="-"/>
    <block type="ibanner/content_bottom" name="ibanner_content_bottom" template="my_ibanner/content/bottom.phtml" after="-"/>
</reference>

Этот код работает нормально. Однако, если я использую заголовок refence, баннер не отображается на странице, я не могу понять, почему ...

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

Если кто-то может помочь мне с этим, я буду очень признателен.

Привет.

1 Ответ

1 голос
/ 06 ноября 2011

Часть «внедрения» блока в разные маршруты зависит от родительского блока.«content» и «left» - это блоки core/text_list (Mage_Core_Block_Text_List), которые по своей конструкции не используют шаблоны и просто отображают все дочерние блоки.Однако, если в блоке используется шаблон, вы должны (должны) сделать два шага:

  1. Установить отношения родитель / потомок.Опять же, в приведенном выше коде два блока ibanner объявляются как дочерние для блока «content»
  2. Настройте связанный шаблон родительского блока с инструкциями рендеринга, необходимыми для дочернего блока, например <?php echo $this->getChildHtml("ibanner_content_top") ?>.

Обратите внимание, что файлы шаблонов, содержащие пустой вызов getChildHtml(), будут отображать все дочерние блоки.

...