想像一下,当你要创建一个简单的视图文件(例如,custom-note.phtml)并在Magento的一些新链接中展示出来。一种方式是创建CMS页面,在CMS页面中调用这个块。但是当你想要让这个块在Magento布局的其它部分,或者说后台CMS修改不了的地方?如果我想在面包屑导航下面添加新的div元素或者新的块,又该如何做?

Magento的理念是在你模块的/Block文件夹下创建块类,/layout文件夹下创建xml布局文件,等等。总之,你要么需要创建Block文件或添加/修改布局文件入口。

一切都确定好了,如果你要在多店铺中开发一个模块,我首要关心的就是将必要模块文件的数量降到最低。下面的代码将让你知道调用Core/Template块到任何Magento布局区域是多么简单。

app/code/local/ActiveCodeline/CustomOutputs/controllers/IndexController.php

public function indexAction()
{
//Get current layout state
$this->loadLayout();
 
$block = $this->getLayout()->createBlock(
'Mage_Core_Block_Template',
'my_block_name_here',
array('template' => 'activecodeline/developer.phtml')
);
 
$this->getLayout()->getBlock('content')->append($block);
 
//Release layout stream... lol... sounds fancy
$this->renderLayout();
}

值得注意的是,当你提交一个无效的块到->append()时,可能什么也不会发生。

360magento提供专业的基于magento系统的电商网站开发服务,如有需求或相关咨询,请与我们联系