2010-12-02 23 views
0

MagentoでJSを含むカスタムブロックを作成しました。出力HTMLに<head>の直後に配置したいと思います。出力HTMLで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"> 

私のカスタムブロック(baobaz_nedstattag_head)が存在しません:私はこれを持って私のテンプレートのpage.xmlファイルで


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

:ブロックはこのようになります。私が望むようにレンダリングするために私は何ができるのですか?

EDIT Fabrizioのコメントのおかげで、私はそれを正しく行うことができました。彼のアプローチで私は私のブロックの二重のエントリを取得していたので。だから私はそれが上に書かれていると私はheadブロック

答えて

1

を呼び出す前に$this->getChildHtml('nedstattagHead')を1column.phtmlに追加したとしてpage.xmlを残したあなたは、ヘッドブロック定義内のブロック定義を移動しようとすることができます

<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> 

メイクpage/html/head.phtmlファイルにecho $this->getChildHtml('nedstattagHead')を追加してください。

+0

うん!ちょうど私が必要なもの:) 'getChildHtml()'、なぜ私はそれについて考えなかったのですか? – Ventus

関連する問題