从模块引导程序重建template_map

时间:2013-02-13 20:17:32

标签: templates layout zend-framework2

我需要在模块引导程序执行期间重建template_map。 为什么我需要它? 我有一个模块的几个布局。这些布局存储在“themes”文件夹中,布局的选择取决于全局应用程序配置。 所以,我有application_config.ini:

application.theme = 'default'

然后,我有

的module.config.php
'view_manager' => array(
    'display_not_found_reason' => true,
    'display_exceptions'       => true,
    'doctype'                  => 'HTML5',
    'not_found_template'       => 'error/404',
    'exception_template'       => 'error/index',
    'template_map' => array(
        'layout/layout'           => __DIR__ . '/../view/themes/%THEME%/layout/default.twig',
        'error/404'               => __DIR__ . '/../view/themes/%THEME%/error/404.phtml',
        'error/index'             => __DIR__ . '/../view/themes/%THEME%/error/index.phtml',
    ),
    'template_path_stack' => array(
        __DIR__ . '/../view/themes',
    ),
),

%THEME%值必须取自全局应用程序配置(application.theme值)

我需要什么:

选项1。 是否可以在模块配置中设置%THEME%值(如何在模块配置中读取应用程序配置)?

选项2。 是否可以在渲染之前更改模块配置(例如,从模块引导程序) - 根据主题值更改template_map值?

重要:我无法使用所有可能的模板选项填充template_map。主题文件夹绝对独立,添加新主题网站管理员必须在主题文件夹中创建新的布局设置,并在应用程序ini文件中更改application.theme值。

更新:我认为在module.config.php中读取应用程序ini文件也不是一个好主意。

0 个答案:

没有答案