Zend URL помощник и пользовательские маршруты? - PullRequest
4 голосов
/ 30 декабря 2010

Я не могу понять это.Как вы используете url helper с пользовательскими маршрутами?

У меня в контроллере users есть метод с именем edit, и у меня есть собственный маршрут для него, поэтому его можно вызывать через domain.com/settings(вместо domain.com/users/edit)

Когда я использую помощник по URL следующим образом:

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

он отлично работает с главной страницы, но как только я включаю настройкистраница, каждая другая ссылка, сгенерированная помощником url, ссылается на текущий URL (domain.com/settings)

Есть идеи, как это исправить?

1 Ответ

5 голосов
/ 30 декабря 2010

Решение состоит в том, чтобы добавить имя к вашему пользовательскому маршруту.

$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>

а

...