我需要在模块引导程序执行期间重建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文件也不是一个好主意。