加载Magento模块模板

时间:2015-10-22 11:40:10

标签: magento magento-1.9

对于Magento模块,我需要加载模板文件并让它替换整个页面。它是一个XML文件(但也可以是任何内容)。 一般来说何时

MYNS_MYMODULE_controllernameController被触发并调用fooAction()我需要能够使用模板文件中的内容显示一个干净的网站。

请让我知道放置模板文件的位置以及如何告诉Magento将此文件作为根模板加载而不需要其他任何内容。

编辑,以澄清更多:

对于http://domain.tld/ 模块名称 / 控制器 / 操作 /

我在哪里放置模板文件以及如何引用它们?

2 个答案:

答案 0 :(得分:1)

你可以这样做

  $this->loadLayout()->getLayout()->getBlock('root')->setTemplate('page/1column.phtml');
  $this->renderLayout();

或设置自定义回复

 //$file = myfile or html

 $this->getResponse()->setBody($file);
 $this->renderLayout();

理想情况下,您的模板应位于/app/design/frontend/mypackage/mytheme/template/mytemplate.phtml

答案 1 :(得分:1)

您应该阅读Magento docAlan Storm Blog。艾伦还写了一本关于Magento布局的书: No Frills Magento Layout

您的网址:http://domain.tld/modulename/controller/action/

modulename_controller_action句柄是通过组合路由名称modulename),动作控制器名称controller)创建的,和动作控制器动作方法action)成一个字符串。这意味着Action Controller上的每个可能方法都有一个与之关联的句柄。 在您的布局中,xml处理此请求:

<modulename_controller_action>
     ......
</modulename_controller_action>

希望我的建议对你有用。