Блок, определенный в page.xml, не отображается - PullRequest
0 голосов
/ 02 декабря 2010

Я сделал пользовательский блок в Magento, который содержит несколько JS. Я хочу поместить его сразу после <head> в выходной HTML. Блок выглядит так:


<?php if($this->isHomePage()): ?>
<script language='JavaScript1.1' type='text/javascript'>ns_loadingtime1=(new Date()).getTime()</script>
<?php endif ?>

В page.xml файле моего шаблона у меня есть это:


(...)
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
            <block type="baobaz_tags/widget_nedstattag_metadata" name="baobaz_nedstattag_head" as="nedstattagHead" before="head" template="baobaz/tags/widget/nedstattag/homepage/meta.phtml" />
            <block type="page/html_head" name="head" as="head">

В выходном HTML мой пользовательский блок (baobaz_nedstattag_head) не существует. Вы знаете, что я могу сделать, чтобы сделать так, как я хочу?

РЕДАКТИРОВАТЬ Благодаря комментарию Фабрицио я смог сделать это правильно. Потому что при его подходе я получал двойной вход в мой блок. Поэтому я оставил файл page.xml, как написано выше, и добавил в 1column.phtml $this->getChildHtml('nedstattagHead') перед вызовом head block

1 Ответ

1 голос
/ 02 декабря 2010

Вы можете попытаться переместить определение блока в определение блока заголовка:

<block type="page/html_head" name="head" as="head">
     <block type="baobaz_tags/widget_nedstattag_metadata" name="baobaz_nedstattag_head" as="nedstattagHead" template="baobaz/tags/widget/nedstattag/homepage/meta.phtml"  before="-" />

 ... missing code of head block definition ...
</block>

Убедитесь, что вы добавили echo $this->getChildHtml('nedstattagHead') в файл page/html/head.phtml.

...