在ZF 2中共享模块之间相同布局和导航的最佳实践

时间:2016-01-08 09:26:54

标签: css zend-framework zend-framework2

In this ZF2 example您可以在每个模块配置中将布局设置为您想要的,但我想知道是否有分享和组织相同布局和导航的方法模块。
例如像模板一样,为项目中的每个模块加载默认的css,脚本和布局,不重复layout/layout.phtmlpartial/navigation,然后使用$this->headLink()->appendStylesheet()和{在我的特定视图中加载特定的css和脚本{1}}

1 个答案:

答案 0 :(得分:0)

您的示例中的template_map可以在不同的模型中定义。 ZF2将合并一个配置数组中的所有配置,如here所述:

  

ModuleManager的{​​{1}}聚合配置并在加载模块时合并它。

因此,您可以在模块A和模块B中定义模板映射,并在配置中找到两个模板映射合并。这意味着模板名称在应用程序中应该是唯一的,否则您将最终覆盖它们。

所以在模块A中ConfigListener

module.config.php

所以在模块B中'view_manager' => array( 'template_map' => array( 'layout/layout' => __DIR__ . '/../view/layout.phtml', 'moduleA/list_view' => __DIR__ . '/../view/list.phtml', 'moduleA/info_view' => __DIR__ . '/../view/info.phtml', ), )

module.config.php

您最终会得到一个包含所有内容的合并'view_manager' => array( 'template_map' => array( 'moduleB/list_view' => __DIR__ . '/../view/list.phtml', 'moduleB/info_view' => __DIR__ . '/../view/info.phtml', ), )

template_map

现在,您可以在整个应用程序中访问这些视图。