我有一个简单的zf2应用程序,我有2个模块(用户和专辑)。
他们都有自己的布局,但我想为用户使用Album的布局,只是为了让它们更加一致。
我不确定从控制器__contruct,或者在每个单独的操作或module.config.php中委派模块应该使用的布局的最佳方法是什么。
也许在这里:
'template_map' => array(
'layout/top_nav' => __DIR__ . '/../view/layout/top_nav.phtml',
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
^^ probably i should set this path to the layout i want to use ^^
'posts/index/index' => __DIR__ . '/../view/posts/index/index.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
任何想法?也许是最好的做法?
感谢
编辑:我刚刚做了这个并且有效:
'layout/layout' => __DIR__ . '/../../album /view/layout/layout.phtml',
但我仍然不确定这是否是最佳做法。
也许我可以设置多个template_map
数组并在User
控制器中使用它们,在我的情况下
答案 0 :(得分:4)
编辑:删除我自己的废话,只看到替代方法:)有效
替代方法
Evan Coury也让全球范围内的布局配置成为可能。对于那些不会公开其模块的单个开发人员来说尤其如此。你会在这里找到他的EdpModuleLayouts Module。
使用该模块切换布局变得更加简单,如下所示:
<?php
array(
'module_layouts' => array(
'ModuleName' => 'layout/some-layout',
),
);
希望它有所帮助。