2012-10-25 27 views
1

我有,做以下視圖操作的指標控制器:在此基礎上Magento - 控制器中的createBlock(),我可以在layout.xml中訪問它嗎?

echo $this->getLayout() 
    ->createBlock('core/template','builder') 
    ->setTemplate('pages/builder/view.phtml') 
    ->setHeaderText($extra->getHeaderText()) 
    ->setFooterText($extra->getFooterText()) 
    ->setProducts($collection) 
    ->toHtml(); 

,我試圖執行builder.xml佈局更新(這是在模塊的config.xml設定) 。但是,我不確定您是否可以以此方式實例化目標塊。基於以上塊創建,我能夠執行以下操作:

<layout version="0.1.0"> 
    <builder_index_view> 
     <!-- shouldn't this reference the createBlock() name argument? --> 
     <reference name="builder"> 
      <block type="page/html_header" name="builder.header" as="builder.header" template="pages/builder/header.phtml"/> 
     </reference> 
    </builder_index_view> 
</layout> 

回答

2

如果塊之前調用loadlayout()實例,是的。

+0

好的,這是有道理的。這只是一個簡單的一次性頁面視圖,不會加載任何其他佈局,它只會渲染聲明的「構建器」塊,因此loadLayout()永遠不會被調用。再次感謝本。 – pspahn

相關問題