插件后台管理控制器
优质
小牛编辑
143浏览
2023-12-01
插件后台管理控制器
在插件类主文件里加hasAdmin为1的属性;
默认后台管理控制器AdminIndex,默认方法index,不可更改
cmf_get_current_admin_id();可获取后台管理员id,可用于判断是否登录
在插件controller
目录下创建AdminIndexController.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');
}
}