0

我已经构建了一个具有这个基本控制器的小部件模块:

class MyModule_OrderForm_HandlersController extends Mage_Core_Controller_Front_Action{
  public function handleroneAction(){
    // do some stuff
  }
}

因此,这给了我一个位于 mydomain.com/orderform/handlers/handlerone 的页面,这很棒,但是我如何为该函数提供自己的模板文件。

我已经在 Google 上搜索了几个小时,但没有找到直接的答案,我希望这里有人可以帮助我。

谢谢。

4

1 回答 1

0

如果您正在寻找如何创建小部件,我会查看http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-a-magento-widget-part-1/

但是为了给你的控制器动作一个模板,我会从 inchoo 查看这篇文章:http: //inchoo.net/ecommerce/magento/programatically-create-magento-blocks-and-inject-them-into-layout/

正如文章所说,正确的“magento 方式”是在模块中创建一个扩展的块文件,Mage_Core_Block_template然后使用布局更新将该块及其模板文件插入到页面中。

inchoo 文章中概述的方法允许您跳过创建自定义块和布局更新,并允许您将模板直接插入该操作的内容区域。

当您打电话时,$this->loadLayout()您将网站的主题应用于该操作。您插入的模板将包含您想要插入该页面的主要内容区域的所有内容。

第一个参数是您要插入的块的类型。在这个例子中,我们使用Mage_Core_Block_Template的是分配模板的基本块。的第二个参数createBlock() function ('my_block_name_here')可以是任意名称。第三个参数是赋予块的属性数组。在此示例中,我们分配的唯一属性是“模板”。这就是我们告诉块使用哪个模板的方式。

于 2012-07-05T15:26:08.310 回答