4

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

我已将以下添加到 di 配置中,现在两个模块操作都呈现 Foo 的视图。

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

我希望Application\Controller\IndexController::indexAction()在 Application 中呈现视图并为Foo\Controller\IndexController::indexAction()呈现 Foo 的视图。

4

3 回答 3

5

请注意,此类问题有助于塑造稳定框架的方向。:)

我一直在玩弄的一个想法是将模块用作视图脚本解析的一部分。现在,默认使用的是“/”;我的建议是使用“//”,因为这有助于防止模块之间的命名冲突;如果您使用模板映射,它还可以更轻松地准确理解您要覆盖的视图脚本。

您现在可以使用这种方法,但它需要在您从控制器返回的视图模型上手动设置模板。

于 2012-04-20T20:08:36.577 回答
2

This doesn't currently work in ZF2 as there is no concept of taking the namespace into account when resolving view scripts. Discussions are currently ongoing on how best to tackle this.

For the time being, you have to name each controller differently. In general, we are recommending that you name the "primary" controller within a module after the module name. That is, the primary controller in the Foo module would be FooController.

于 2012-04-20T19:11:11.220 回答
1

您实际上可以这样做;而且还不错....

Rob Allen 自己有一篇博客文章,基本上可以完成这项工作......请注意,您必须基本上将其作为基于模块的加载器来处理,它将大部分工作分开,这样我们就没有控制器使用它: http://pastie .org/3824571

于 2012-04-20T19:56:00.163 回答