有一个控制器:
module/ModuleName/src/ModuleName/Controller/SubFolder/ControllerNameController行动:
doSomethingAction()在module.config.php中:
'view_manager' => [
'template_path_stack' => array(
'ModuleName' => __DIR__ . '/../view',
),
]
在我的一个项目中,ZF2搜索.phtml文件,如下所示:
view/module-name/sub-folder/controller-name/do-something.phtml这对我来说没问题。
但在另一个项目中,ZF2搜索.phtml文件,如下所示:
view/module-name/controller-name/do-something.phtml这对我来说不合适,因为控制器名称在模块中必须是唯一的。
这种行为的原因在哪里?
为什么ZF2会忽略该文件夹?
答案 0 :(得分:0)
这可能是由于使用不同版本的ZF2的两个不同项目。我猜想视图模板路径中包含子文件夹的项目是ZF2 post 2.3.2的版本,而不包含它的项目是2.3.2之前的版本。
您可以在此处查看拉取请求:https://github.com/zendframework/zendframework/pull/5670
如果您正在运行2.3.2之前的应用程序,我建议您将ZF2依赖关系更新为最新的稳定版本
在这个拉动请求中合并了一些重大变化,我认为这是ZF3的一部分:
https://github.com/zendframework/zend-mvc/pull/139
如果您已经在使用更高版本的框架
,这可能会有用答案 1 :(得分:0)
谢谢。这是路线中缺少的__NAMESPACE__
变量。