2010-12-02 3 views
0

일부 JS가 포함 된 Magento에서 사용자 정의 블록을 만들었습니다. 출력 HTML에 <head> 바로 뒤에 넣고 싶습니다. 블록은 다음과 같습니다 : 내 템플릿의 page.xml 파일에서page.xml에 정의 된 블록이 렌더링되지 않습니다.


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

나는이있다 : 출력 HTML 내 사용자 정의 블록 (baobaz_nedstattag_head)에서


(...) 
<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"> 

을하지 존재한다. 내가 원하는대로 렌더링하기 위해 내가 무엇을 할 수 있는지 알고 있니?

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

관련 문제