我有两个模块,默认和mojo
在两个模块的初始引导代码相同之后,我想要为每个模块使用不同的布局(或使用不同的凭证检查等)。
我把它放在哪里:IF(module =='mojo')做这个ELSE做那个
答案 0 :(得分:3)
如果您正在使用Zend_Application(在ZF1.8中),那么您应该能够使用特定于模块的配置选项来提供此功能,如relevant section in the documentation中所述。
这将要求您在配置中设置布局,使其看起来像
mojo.resources.layout.layout = "mojo"
anothermodule.resources.layout.layout = "anotherlayout"
然后由引导程序自动设置布局。
另一种方法是使用实现preDispatch()方法的前端控制器插件,根据模块名称设置布局。
答案 1 :(得分:1)
嗯,我还没试过这个
我现在这样做的方式是通过前端控制器插件
类似
switch ($request->getModuleName()) { case "": // set layout ... }
答案 2 :(得分:0)
我几天前研究过这个主题,试图让它单独使用bootstrap配置。最大的问题是所有的bootstrap文件都被加载了,因此它给出了一些使用布局的奇怪结果。
我的结论是您可以使用配置,但您需要使用FrontController插件或ActionController帮助程序。如果你想在application.ini中使用config set,并且你想通过bootstrap加载配置,那么帮助是唯一的方法。然后,您可以从帮助程序加载ActionController,然后执行getInvokeArgs以加载引导程序。很多hastle ...... :)。
无论如何,我在一篇博文中做了一个小实现作为例子:http://blog.keppens.biz/2009/06/create-modular-application-with-zend.html
古德勒克,
的Jeroen