質問

私はこれを理解することはできません。カスタムルートでURLヘルパーをどのように使用しますか?

私には方法があります users コントローラーは呼び出します edit そして、私はそれのためのカスタムルートを持っているので、それはdomain.com/users/editの代わりに(domain.com/settings)domain.com/settingsを通して呼び出すことができます

この方法でURLヘルパーを使用するとき:

<li><a href="<?php echo $this->url(array('controller' => '', 'action' => 'settings')); ?>">Settings</a></li>

メインページからは正常に動作しますが、設定ページに留まると、URLヘルパーによって生成された他のすべてのリンクが現在のURLにリンクされます(domain.com/settings)

これを修正する方法はありますか?

役に立ちましたか?

解決

解決策は、カスタムルートに名前を追加することです。

$router->addRoute(
    'settingsPage', //this is the name
     new Zend_Controller_Router_Route('settings',
                                        array('controller' => 'users',
                                              'action' => 'edit'))
);

フロントエンドで使用するときは、ルート名を追加します。

<li><a href="<?php echo $this->url(array('controller' => 'users', 'action' => 'edit'), 'settingsPage', true); ?>">Settings</a></li>

a

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top