如何在ZF2中使用ZF1 $ this->动作?

时间:2012-10-06 09:35:20

标签: zend-framework2

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

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

ZF2:???

我该如何解决这个问题?


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

2 个答案:

答案 0 :(得分: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。由于他没有将其作为答案发布,其他用户可能会错过它。

答案 1 :(得分:1)

zf1中不推荐使用

Action视图帮助程序,并且在zf2中完全删除了这个帮助程序。您应该考虑将应用程序设计更改为不依赖于此类行为。