## 插件后台菜单 > 5.0.180123 版新增 我们可以在插件的后台控制器的方法上添加后台菜单注解`@adminMenu`,以实现插件后台菜单的添加。 那么什么是后台菜单注解? ## 后台菜单注解`@adminMenu` 同样以Demo 插件的`AdminIndexController`为例: ```php <?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +---------------------------------------------------------------------- // | Copyright (c) 2013-2014 http://www.thinkcmf.com All rights reserved. // +---------------------------------------------------------------------- // | Author: Dean <zxxjjforever@163.com> // +---------------------------------------------------------------------- namespace plugins\demo\controller; //Demo插件英文名,改成你的插件英文就行了 use cmf\controller\PluginAdminBaseController; use think\Db; class AdminIndexController extends PluginAdminBaseController { protected function _initialize() { parent::_initialize(); $adminId = cmf_get_current_admin_id();//获取后台管理员id,可判断是否登录 if (!empty($adminId)) { $this->assign("admin_id", $adminId); } } /** * 演示插件 * @adminMenu( * 'name' => '演示插件', * 'parent' => 'admin/Plugin/default', * 'display'=> true, * 'hasView'=> true, * 'order' => 10000, * 'icon' => '', * 'remark' => '演示插件', * 'param' => '' * ) */ public function index() { $users = Db::name("user")->limit(0, 5)->select(); //$demos = PluginDemoModel::all(); // print_r($demos); $this->assign("users", $users); $this->assign("users", $users); return $this->fetch('/admin_index'); } /** * 演示插件设置 * @adminMenu( * 'name' => '演示插件设置', * 'parent' => 'index', * 'display'=> false, * 'hasView'=> true, * 'order' => 10000, * 'icon' => '', * 'remark' => '演示插件设置', * 'param' => '' * ) */ public function setting() { $users = Db::name("user")->limit(0, 5)->select(); //$demos = PluginDemoModel::all(); // print_r($demos); $this->assign("users", $users); $this->assign("users", $users); return $this->fetch('/admin_index'); } } ``` 上面的代码中,我们给 `index`操作增加了一个方法级别的`@adminMenu`注解,它的格式也是一个变形 php 数组,语法和 php 数组完全一样,数组里的属性就是这个后台菜单的属性, ``` /** * 演示插件 * @adminMenu( * 'name' => '演示插件', * 'parent' => 'admin/Plugin/default',//菜单父级,格式有三种:应用名/控制器/操作,控制器/操作,操作 * 'display'=> true, * 'hasView'=> true, * 'order' => 10000, * 'icon' => '', * 'remark' => '演示插件', * 'param' => '' * ) */ ```