对于Magento模块,我需要加载模板文件并让它替换整个页面。它是一个XML文件(但也可以是任何内容)。 一般来说何时
MYNS_MYMODULE_controllernameController
被触发并调用fooAction()
我需要能够使用模板文件中的内容显示一个干净的网站。
请让我知道放置模板文件的位置以及如何告诉Magento将此文件作为根模板加载而不需要其他任何内容。
编辑,以澄清更多:
对于http://domain.tld/ 模块名称 / 控制器 / 操作 /
我在哪里放置模板文件以及如何引用它们?
答案 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 doc和Alan 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>
希望我的建议对你有用。