Вставить параметры URL в меню Zend_Navigation - PullRequest
2 голосов
/ 11 мая 2010

Кто-нибудь использует Zend Navigation вместе с URL-адресами, для которых требуются динамические параметры?

Zend_Navigation, кажется, действительно прост при работе со статическими маршрутами, но я не могу придумать, как заставить его играть с динамическими параметрами URL.

Маршрут типа:

routes.editUser.route = '/users/:id/edit'
routes.editUser.defaults.controller = 'user'
routes.edutUser.defaults.action = 'edit'

В этой навигации:

<pages>
  <editUser>
    <controller>users</controller>
    <action>edit</action>
    <route>editUser</route>
  </editUser>
</pages>

Просто выдает ошибку в Zend_Navigation, если я не укажу значение по умолчанию для :id. Однако, мне бесполезно, если я не могу ввести фактический идентификатор пользователя при создании меню.

Есть ли прямой способ сделать это? Спасибо.

1 Ответ

5 голосов
/ 11 мая 2010

resources.navigation.pages.profile.params_id = "USER_ID"

// Looks for any navigation pages requiring user information and injects it
$pages = $this->getContainer()->findAllBy('params_id', 'USER_ID');
foreach($pages as &$page){
    $page->setParams(array(
        'id'=>$user->id,
        'username'=>$user->username
    ));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...