1

我的问题是在 ZF2 中缺少 Action View Helper。
例如,我如何在 layout.phtml (或其他视图)中使用?

ZF1: $this->action("index", "index") // call IndexController indexAction

ZF2:???

我该如何解决这个问题?


问题解决了!!!;) http://www.michaelgallego.fr/blog/?p=223

4

2 回答 2

2

首先,您需要编写一个自定义助手,如下所示:

https://github.com/AlloVince/eva-engine/blob/master/vendor/Eva/View/Helper/Action.php

也许您需要更改命名空间以适合您的项目,然后将此帮助程序注册为模块配置文件中的可调用帮助程序服务:

'view_helpers' => array(
    'invokables' => array(
        'action' => 'Eva\View\Helper\Action',
    ),  
),

然后您可以像这样调用视图中的任何控制器操作:

$this->action('Engine\Controller\PagesController', 'indexAction');

编辑

OP 在这里找到了一个不错的解决方案:http: //www.michaelgallego.fr/blog/ ?p=223 。由于他没有将其发布为答案,因此其他用户可能会错过它。

于 2012-10-07T05:21:44.353 回答
1

Action在 zf1 中不建议使用视图助手,并且在 zf2 中将其作为不好的做法完全删除。您应该考虑更改应用程序设计以不依赖此类行为。

于 2012-10-07T06:47:47.603 回答