# 菜單管理
> 菜單管理有兩個作用
>
> 1. 管理后臺的菜單
> 2. 生成用于權限控制的節點

# 新增/編輯

* 菜單如果設置為**頂級菜單**,那么該菜單將出現在后臺導航條.
* 菜單如果設置為其他菜單的子菜單,那么該菜單出現在其父菜單頁面的**左側菜單欄**.
* 其他頁面,例如新增頁,編輯頁,也需要設置菜單。這樣在進入這些頁面后才會顯示左側菜單。
例如,導航管理的菜單設置分三層設置:`"系統"->"導航管理"->"新增|編輯|排序"`
* 設置分組名后,左側的菜單可以分組顯示,同一分組的菜單將顯示在同一個組名下.
* 如果只是為了**生成用于權限控制的節點**,而不需要出現在菜單中,那么選擇**隱藏**
* 如果菜單設置了**僅開發者模式可見**,那么當關閉開發者模式后,該菜單不會顯示.
# 動態擴展
有的時候,我們希望在當前頁面的做出顯示一些動態的菜單(程序里控制顯示隱藏和接收一些動態的參數)。
這個時候,就可以給控制器的`_initialize`方法里 添加`_extra_menu`模板變量。這部分的菜單是沒法權限管理的,后臺菜單和權限管理均不顯示這部分菜單。
比如 擴展下面插件后臺列表就是這么擴展出來的。
~~~
$this->assign('_extra_menu',array(
'已裝插件后臺'=> D('Addons')->getAdminList(),
));
'已裝插件后臺'=>array(0=>array('title'=>'菜單名','url'=>'url'))
~~~
這種 擴展至一個分組里。