4

从使用beta3的骨架应用程序开始,您将如何解析称为Foo的新模块的视图路径?zf2解析模块视图路径

我已经加入下面二配置,现在两个模块动作的渲染Foo的观点。

'Zend\View\Resolver\TemplatePathStack' => array(
    'parameters' => array(
     'paths' => array(
      'foo' => __DIR__ . '/../view', 
     ), 
    ), 
), 

我希望Application\Controller\IndexController::indexAction()呈现在应用程序的意见,并为Foo\Controller\IndexController::indexAction()呈现Foo的观点。

回答

5

注意,这样有助于形成稳定的框架的方向问题。我一直在玩弄:)

一个想法是使用该模块作为视图脚本决议的一部分。现在,使用的默认值是“/”;我的建议是使用“//”,因为这有助于防止模块之间的命名冲突;如果使用模板映射,它也使得更准确地理解您正在覆盖哪个视图脚本。

您可以使用此方法的今天,但需要手动设置你从你的控制器返回视图模型的模板。

+0

不确定我关注,你是什么意思,用双正斜杠? – gawpertron 2012-05-01 13:17:10

+1

SO吃了我的内容。我的意思是说:“现在,使用的默认值是'{controller}/{action}';我的建议是使用'{module}/{controller}/{action}'”。这实际上是我们为稳定框架所做的。 – weierophinney 2012-10-03 03:12:53

2

这并不在ZF2目前的工作,因为没有采取命名空间考虑将视图脚本时的概念。目前正在讨论如何最好地解决这个问题。

目前,您必须以不同的方式命名每个控制器。通常,我们建议您在模块名称后面命名模块中的“主”控制器。也就是说,Foo模块中的主控制器应为FooController

1

你其实可以做到这一点;它是不是太糟糕了....

罗布·艾伦自己有一个博客帖子,基本上使这项工作...请注意,你必须基本上处理它作为一个模块基于装载机分开许多工作了,这样我们没有利用它的控制器:http://pastie.org/3824571