## 插件后台管理控制器 1. 在插件类主文件里加hasAdmin为1的属性; 2. 默认后台管理控制器AdminIndex,默认方法index,不可更改 3. cmf_get_current_admin_id();可获取后台管理员id,可用于判断是否登录 在插件`controller`目录下创建`AdminIndexController.php`文件,内容如下: ```php <?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +---------------------------------------------------------------------- // | Copyright (c) 2013-2018 http://www.thinkcmf.com All rights reserved. // +---------------------------------------------------------------------- // | Author: Dean <zxxjjforever@163.com> // +---------------------------------------------------------------------- namespace plugins\demo\controller; //Demo插件英文名,改成你的插件英文就行了 use think\Db; use cmf\controller\PluginBaseController; use plugins\Demo\Model\PluginDemoModel; class AdminIndexController extends PluginBaseController { function _initialize() { $adminId = cmf_get_current_admin_id();//获取后台管理员id,可判断是否登录 if (!empty($adminId)) { $this->assign("admin_id", $adminId); } else { //TODO no login } } function index() { $users = Db::name("user")->limit(0, 5)->select(); $demos = PluginDemoModel::all(); // print_r($demos); $this->assign("users", $users); return $this->fetch('/admin_index'); } } ``` ## 插件后台基类控制器PluginAdminBaseController > 5.0.180123新增,建议所有插件后台控制器继承此基类 `cmf\controller\PluginAdminBaseController`默认增加了后台管理是否登录的验证和权限管理 ``` <?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); 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); return $this->fetch('/admin_index'); } } ```