Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 如何为控制器函数提供自己的模板?_Magento - Fatal编程技术网

Magento 如何为控制器函数提供自己的模板?

Magento 如何为控制器函数提供自己的模板?,magento,Magento,我构建了一个小部件模块,该模块具有以下基本控制器: class MyModule_OrderForm_HandlersController extends Mage_Core_Controller_Front_Action{ public function handleroneAction(){ // do some stuff } } 这给了我一个mydomain.com/orderform/handlerone的页面,这很好,但是我如何给这个函数自己的模板文件呢 我在谷歌搜

我构建了一个小部件模块,该模块具有以下基本控制器:

class MyModule_OrderForm_HandlersController extends Mage_Core_Controller_Front_Action{
  public function handleroneAction(){
    // do some stuff
  }
}
这给了我一个mydomain.com/orderform/handlerone的页面,这很好,但是我如何给这个函数自己的模板文件呢

我在谷歌搜索了几个小时,没有找到一个直截了当的答案,我希望这里有人能帮我


谢谢。

如果你想知道如何创建一个小部件,我会去看看

但是为了给你的控制器操作提供一个模板,我想从inchoo查阅这篇文章:

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

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

当您调用
$this->loadLayout()
时,您将站点的主题应用于该操作。您插入的模板将包含您希望插入该页面主内容区域的所有内容


第一个参数是要插入的块的类型。在本例中,我们使用
Mage\u Core\u block\u Template
,这是用于指定模板的基本块。
createBlock()函数('my_block\u name_here')
的第二个参数可以是任意名称。第三个参数是给定给块的属性数组。在本例中,我们分配的唯一属性是“模板”。这就是我们告诉区块使用哪个模板的方式。

感谢链接中的模块提供了答案。事实上,我不想在这个街区周围有任何网站模板,这是一个灯箱。有没有办法阻止这种情况发生?