Zend_Navigation menüsüne URL parametreleri enjekte

1 Cevap php

Dinamik parametrelerini gerektiren URL'ler ile birlikte Zend Navigasyon kullanan herkes mi?

Zend_Navigation statik yolları ile uğraşırken gerçekten kolay görünüyor, ama ben dinamik URL parametreleri ile güzel oynamak için herhangi bir yol anlamaya olamaz.

: Gibi bir rota

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

Bu navigasyon:

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

I :id için varsayılan bir değer belirtmek sürece sadece Zend_Navigation bir hata atar. Menü inşa edildiğinde ben gerçek kullanıcı kimliği enjekte olamaz Ancak, bana faydası yok.

Bunu yapmak için basit bir yolu var mı? Teşekkürler.

1 Cevap

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
    ));
}