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"}}