2012-07-19 3 views
5

내 모듈에서 getChildHtml를 호출합니다.내가 모듈을 만들고 기본 테마에서 catalog.xml에서</p> <blockquote> <p><code><block type="mymodule/mymodule" name="my_block" template="mymodule/mymodule.phtml"/>.</code></p> </blockquote> <p>을 차단 얼마나 젠토

기본 테마의 catalog/product/view.phtml에서 getChildHtml ('my_block') 메소드를 사용하여이 블록을 호출하고 mymodule.phtml 파일의 텍스트를 표시하지만 위의 view.phtml에서 해당 블록을 호출하고 싶지 않습니다. view.phtml, 위의 블록을 mymodule에서 mymodule.phtml의 텍스트를 표시하는 모든 위치에서 호출 할 수있는 방법이 있습니까?

+0

catalog.xml의 가능성이 레이아웃 XML 파일에 my_block에 대한 모양과 템플릿에 동일한를 추가하려고합니다. 그게 당신이 당신의 모듈의 틀에서 그것을 부르기 원하는 것입니까? 아니면 수업 내에서 호출하고 싶습니까? –

+0

표시하려는 위치에 따라 다릅니다. 나는 list.phtml이 성능 때문에 블록 훅을 가지고 있다고 생각하지 않는다. 테마 파일을 변경해야합니다. 자신 만의 테마를 만들거나'app/design/frontend/default/default/catalog/product /'에 추가 할 수 있습니다. – Serjio

+0

답글을 보내 주신 Serjio와 두려운 세미콜론. 사실 나는 catalog.xml에서 my_block을 만들었고 my module은 phtml 템플릿 파일을 사용하고 list.phtml 페이지에서 getChildhtml ("my_block")을 호출하면 해당 템플릿 파일이 제품 범주 페이지에 표시됩니다. 하지만 내 모듈 파일에서 해당 블록을 호출하는 다른 방법은 무엇입니까. –

답변

0

getChildHtml()을 사용하지 않고 블록을 호출하려면 블록을 왼쪽, 오른쪽, 내용 등과 같은 내용 블록에 넣어야하며 자동으로 렌더링됩니다.

0

getChildHtml() 메서드를 호출하면 메서드에 전달 된 이름을 가진 자식 블록의 HTML이로드됩니다.

블록을 왼쪽, 오른쪽, 내용과 같은 참조 영역 중 하나에 레이아웃 파일로 저장하고 할당 된 이름을 사용하여이를 호출합니다.

시도,

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