1

カスタム モジュールにルーティングする URL があります。この行を Bootstrap.php に追加しました

$router->addRoute('forum-board', new Zend_Controller_Router_Route(
        'forum-board', array('module' => 'admin', 'controller' => 'users', 'action' => 'forumdisplay')
    ));

ルートは正常に機能しています。

しかし、私が電話したときのフォーラムディスプレイのビューでは:

<a href="<?= $this->url( array ( 'module' => 'admin', 
                'controller'=> 'users', 'action' => 'resetpass',
                'userid'=>$userid)); ?>">Reset</a>

URL をレンダリングしません。

私が同じページを開いたとき:

http://zfProj12.local/admin/users/forumdisplay

それは正しいURLをレンダリングしましたが、それらをルーティングすると、そうではありません

http://zfProj12.local/forum-board

修正はありますか?

4

1 に答える 1

2

定義したルートに従ってビュー ヘルパーをレンダリングする場合url()は、ルートを次のように名前で参照します (たとえば、ビュー スクリプト内)。

<a href="<?= $this->url(array('userid' => 'myuserid'), 'forum-board', true) ?>">Forum</a>

アップデート

URLヘルパーの呼び出しは、ルートがユーザーIDパラメーターを受け入れることを示唆していますが、ルート定義自体にはプレースホルダーがありません。おそらく、ルートは次のように定義する必要があります。

$router->addRoute('forum-board', new Zend_Controller_Router_Route(
    'forum-board/:userid', array(
         'module' => 'admin', 
         'controller' => 'users', 
         'action' => 'forumdisplay',
     )
));

次に、 の値を指定して URL ヘルパーを呼び出すとuserid、その値が生成された URL に挿入されます。

于 2012-07-25T14:07:58.407 に答える