从使用beta3的骨架应用程序开始,您将如何解析名为Foo的新模块的视图路径?
我已将下面的内容添加到di配置中,现在两个模块操作都会渲染Foo的视图。
'Zend\View\Resolver\TemplatePathStack' => array(
'parameters' => array(
'paths' => array(
'foo' => __DIR__ . '/../view',
),
),
),
我希望Application\Controller\IndexController::indexAction()
能够在应用程序中呈现视图,并期望Foo\Controller\IndexController::indexAction()
呈现Foo的视图。
答案 0 :(得分:5)
请注意,这样的问题有助于形成稳定框架的方向。 :)
我一直在想的一个想法是将模块用作视图脚本解析的一部分。现在,默认使用的是" /&#34 ;;我的建议是使用" //",因为这有助于防止模块之间的命名冲突;如果您使用模板映射,它还可以更加简单地理解您要覆盖的视图脚本。
您现在可以使用此方法,但需要在从控制器返回的视图模型上手动设置模板。
答案 1 :(得分:2)
这在ZF2中当前不起作用,因为在解析视图脚本时没有考虑名称空间的概念。目前正在讨论如何最好地解决这个问题。
目前,您必须以不同方式命名每个控制器。通常,我们建议您在模块名称后面的模块中命名“主”控制器。也就是说,Foo
模块中的主控制器将为FooController
。
答案 2 :(得分:1)
你实际上可以做到这一点;而且还不错......
Rob Allen自己有一篇博文,基本上可以让这个工作......注意你必须基本上把它作为一个基于模块的加载器来处理,它将大部分工作分开,这样我们就没有控制器利用它了:{{ 3}}