在Magento中更改所有模块页面的设计

时间:2010-09-14 20:16:20

标签: layout magento module customization

我正在Magento中做一个自定义模块,一切都在游泳......除了我想要更改模块中所有页面使用的基本布局模板。我做了一些谷歌搜索,但收效甚微。有人有什么答案吗?我想按照以下方式做点什么:

...
<optionbox>
  <reference name="root">
    <action method="setTemplate"><template>page/empty.phtml</template></action>
  </reference>
</optionbox>

正如你可能猜到的那样,它是一个灯箱...我猜是一个贪婪的惩罚:)

3 个答案:

答案 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布局文件?它看起来应该像你一样工作吗?