Magento Block的几种调用方式

Magento Block的三种显示方式
1。最常见的一种方式:在layout文件中配置,然后在.phtml模板文件中输出。

<cms_page>
  <reference name="content">
      <block type="cms/page" name="cms_page">
  </block></reference>
 
  <!-- 下面是新增的Magento Block -->
  <block type="catalog/product_new" name="home.catalog.product.new" alias="product_homepage_new" template="catalog/product/new.phtml" after="default_home_page"></block>
</cms_page>
echo $this->getLayout()->getBlock('home.catalog.product.new')->toHtml();

这种方式是Magento中推荐的标准方法。另外,也可以在后台 [Admin]->[CMS]->[Manage Pages]->[Home]->[Custome Design]->[Layout Update XML]中配置block xml。

2。不用在layout文件中配置,直接用PHP代码来创建block,并输出。

$layout =  $this->getLayout();
$type = 'catalog/product_new';
$attributes = array(
 'type'     =>  'catalog/product_new',
  'name'     =>  'home.catalog.product.new',
  'alias'    =>  'product_homepage_new',
  'template' =>  'catalog/product/new.phtml'
);
$block = $layout->createBlock($type, null, $attributes);
echo $block->toHtml();

3。出现在Magento邮件模板中,或自定义内容中的Magento标签:

{{block type="catalog/product_new" name="home.catalog.product.new" alias="product_homepage_new" template="catalog/product/new.phtml"}}
原文地址:https://www.cnblogs.com/liuxgnu/p/3535404.html