我正在Magento中做一个自定义模块,一切都在游泳......除了我想要更改模块中所有页面使用的基本布局模板。我做了一些谷歌搜索,但收效甚微。有人有什么答案吗?我想按照以下方式做点什么:
...
<optionbox>
<reference name="root">
<action method="setTemplate"><template>page/empty.phtml</template></action>
</reference>
</optionbox>
正如你可能猜到的那样,它是一个灯箱...我猜是一个贪婪的惩罚:)
答案 0 :(得分:2)
我注意到您的布局更新的根目录为<optionbox>
,理论上应覆盖该模块下的所有控制器和操作。但是,我只见<optionbox_index>
index
来自模块中IndexController
的{{1}}。所以也许尝试用你的控制器名称替换它:
<layout>
...
<optionbox_index>
<reference name="root">
<action method="setTemplate"><template>page/empty.phtml</template></action>
</reference>
</optionbox_index>
此外,您应该尝试Alan Storm的LayoutViewer module,使用here的说明。这可能会帮助您调试它。
干杯, JD
答案 1 :(得分:1)
在我的模块中,我在控制器操作中执行此操作:
public function listAction() {
$this->loadLayout();
$this->getLayout()->getBlock('root')->setTemplate('page/2columns-right.phtml');
$this->renderLayout();
}
答案 2 :(得分:0)
您是否尝试将该代码段插入optionbox.xml
布局文件?它看起来应该像你一样工作吗?