在我的ZF2应用程序中,我想在运行时更改模板目录。
默认路径在module.config.php
中设置:
'template_path_stack' => array(
__DIR__ . '/../view',
),
我想将其更改为相当于
'template_path_stack' => array(
__DIR__ . '/../view-alternate',
),
在运行时,所以我可以根据存储在数据库中的用户首选项动态更改页面主题。
答案 0 :(得分:0)
模板名称解析是一个繁重的过程。最好手动提供模板名称。
我建议您使用' template_map'而不是' template_path_stack'。您可以创建某种命名约定来区分这两个主题,它可以是您可以动态管理的前缀。
有一个工具可以将堆栈转换为模板映射:https://github.com/zendframework/zf2/blob/master/bin/templatemap_generator.php
答案 1 :(得分:0)
我最终使用的解决方案是使用https://github.com/ZendExperts/ZeTheme。
结合选项也保存会话中的主题我能够更改主题,因为它不是在运行时。页面重新加载是必要的。
这是一种解决方法。不是答案。