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 に答える