Magento ::: Как включить пользовательский блок в мои шаблоны? - PullRequest
2 голосов
/ 24 марта 2011

Мне нужно включить пользовательский блок в мои шаблоны, и даже несмотря на то, что я прочитал несколько инструкций о том, как это сделать, ни одна из них не работает, и никто не отвечает на все вопросы (для меня).

У меня есть файл шаблона здесь: [Шаблоны] /aw_blog/blog-bottom.phtml

Я использую пользовательскую тему в соответствии с рекомендациями для Magento 1.4.1 и выше, поэтому я работаю с local.xml, чтобы переопределить page.xml в базовой теме.

В моем шаблоне 2column-left.phtml я называю шаблон блога следующим образом:

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

Итак, я знаю, что отсутствующей ссылкой является local.xml, но различные варианты, которые я пробовал, не дают результатов. Итак, как правильно ссылаться на этот блок в local.xml, чтобы он был доступен для страниц, использующих 2column-left? У меня есть и CMS, и страницы категорий с использованием 2column слева, и я хотел бы показать этот блок на всех них.

Спасибо.

1 Ответ

2 голосов
/ 24 марта 2011

Вы правы, Вы должны добавить декларацию блока в свой макет xml. Я не использую файл local.xml, я не знаю, что это такое, извините: |

В любом случае, если вы хотите добавить этот блок, скажем, в левую колонку, вы должны объявить его таким образом (если блок с именем "left" уже объявлен)

<reference name="left">
    <block name="customblock" type="core/template" template="path/to/your/template" />
</reference>

Однако, для этого вида блока (который будет присутствовать почти на каждой странице) я переписал бы файл page.xml и добавил бы блок непосредственно в объявлении «левого» блока следующим образом:

<block type="core/text_list" name="left" as="left" translate="label">
    <label>Left Column</label>
    <block name="customblock" type="core/template" template="path/to/your/template" />
</block>
...