Magento - 返回不带Layout的页面输出

你至少有三种方法可以返回不带Layout的页面输出

1. 在controller的action方法中直接echo 然后 return.

Php代码   收藏代码
  1. public   function  helloAction(){  
  2.    echo   'How are you' ;  
  3.    exit ;  
  4. }  



2. 在controller的代码方式创建并输出block内容

Php代码   收藏代码
  1. $this ->loadLayout();  
  2. $this ->getResponse()->setBody( $this ->getLayout()->createBlock( 'adminhtml/catalog_product_grid' )->toHtml()  
  3. );  



3. 一旦使用PHTML模板文件,有如下两种方法完成同样效果
1).使用core/text_list的Block命名为root

Php代码   收藏代码
  1. <your_frontname_controller_action>  
  2.     <block type="core/text_list"  name= "root" >  
  3.         <block type="block1"  name= "block1"  template= "block1.phtml" />  
  4.         <block type="block2"  name= "block2"  template= "block2.phtml" />  
  5.     </block>  
  6. </your_frontname_controller_action>  



2). 建立空的layout文件,如
a). page/empty.phtml内容如下:

Php代码   收藏代码
  1. <?php  echo   $this ->getChildHtml( 'content' ) ?>  


b). layout的文件声明可能如下

Php代码   收藏代码
  1. <your_frontname_controller_action translate= "label" >  
  2.   <reference name="root" >  
  3.     <action method="setTemplate" ><template>page/ empty empty .phtml</template />  
  4.   </reference>  
  5.   <reference name="content" >  
  6.     <block type="{your_block} name=" {blockname} " template=" {your_template_file.phtml}" />  
  7.   </reference>  
  8. </your_frontname_controller_action>  

猜你喜欢

转载自yushine.iteye.com/blog/1608174