如何在运行时更改视图路径

时间:2015-03-06 09:48:54

标签: zend-framework2

在我的ZF2应用程序中,我想在运行时更改模板目录。

默认路径在module.config.php中设置:

'template_path_stack' => array(
        __DIR__ . '/../view',
 ),

我想将其更改为相当于

'template_path_stack' => array(
        __DIR__ . '/../view-alternate',
 ),

在运行时,所以我可以根据存储在数据库中的用户首选项动态更改页面主题。

2 个答案:

答案 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

结合选项也保存会话中的主题我能够更改主题,因为它不是在运行时。页面重新加载是必要的。

这是一种解决方法。不是答案。