2010-05-10 38 views
2

是否有人將Zend Navigation與需要動態參數的URL結合使用?將URL參數注入Zend_Navigation菜單

當處理靜態路由時,Zend_Navigation看起來非常簡單,但我無法想出任何方式使它在動態URL參數中表現良好。

如A路線:

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> 

,除非我爲:id指定一個默認值就拋出Zend_Navigation錯誤。但是,如果我在構建菜單時無法注入實際的用戶標識對我來說沒用。

有沒有簡單的方法來做到這一點?謝謝。

回答

5

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

聰明的方式來做到這一點。謝謝! – 2010-05-13 18:24:08

相關問題