9

Zend 2 で、必要な場所から URL を生成する方法がわかりません

アクションとコントローラーを取得したので、これを試します:

$this->url('myControllerName', array('action' => 'myActionName'));

しかし、これはオブジェクトを返します。このルートの完全な URL 文字列が必要なだけです

誰かが適切な方法を見つけるのを手伝ってくれますか?

編集 : Stoyan によると、ルートを間違えたのかもしれません。これが私のmodule.configの一部です

'router' => array (
                'routes' => array (
                        'indexqvm' => array (
                                'type' => 'segment',
                                'options' => array (
                                        'route' => '/Indexqvm[/:action][/:id_event]',
                                    'constraints' => array (
                                            'action' => '[a-zA-Z][a-zA-Z0-9_-]+',
                                            'id_event' => '[0-9]+'
                                    ),
                                    'defaults' => array (
                                            'controller' => 'Qvm\Controller\Indexqvm',
                                            'action' => 'index' 
                                    ) 
                            ) 
                    ),

そして私の電話:

echo $this->url('indexqvm', array('action' => 'list-index'));

エラー: キャッチ可能な致命的なエラー: クラス Zend\Mvc\Controller\Plugin\Url のオブジェクトを文字列に変換できませんでした

4

2 に答える 2

25

呼び出す前に echo を使用すると$this->url(...)(以下を参照)、URL 全体が表示されます。

<?php echo $this->url('route-name', $urlParams, $urlOptions); ?>

の最初のパラメーターは、ファイルurl()で指定されているルートの名前であることに注意してください。[module]/config/module.config.php

ZF2 の URL ビュー ヘルパーの詳細については、こちらを参照してください。

質問の編集に応じて編集します。

上記のセクションは、URL ビュー ヘルパーの使用に関連しています。

コントローラーに URL が必要な場合は、URL コントローラー プラグインが必要です。

<?php $url = $this->url()->fromRoute('route-name', $params, $options); ?>

これは、このコントローラー プラグインの ZF2 マニュアルへの参照です。

お役に立てれば :)

ストヤン

于 2013-04-02T14:31:34.093 に答える
1

これを .phtml ファイルで使用できます

echo $this->url('HelloWorld/default', array('controller'=>'Index', 'action'=>'registration'));

HelloWorld/default はルーティングで、残りはコントローラーとそのアクションです。また、キーと値のペアとして配列に追加する other パラメータを送信することもできます。

于 2015-04-17T11:45:15.727 に答える