后台管理控制器
插件创建成功后会自动生成插件目录,插件控制器中会自动生成一个WebController.class.php
,在此文件中可以进行插件的后台功能的开发。
插件的响应规则、配置参数、封面入口都可以直接在info.php中通过配置来实现,WebController主要用来处理业务导航配置的各项功能。
例如留言板插件,首先在info.php中配置一个管理留言的业务导航,并把插件的默认入口设置为留言管理页面:
'config' => array(
'index_url' => U('/IdouGuestbook/web/messages'),
'menu' => 1,
'menu_list' => array(
'messages' => '留言管理'
),
),
然后在后台管理控制器中对留言数据进行增删改查:
<?php
namespace Addons\IdouGuestbook\Controller;
use Mp\Controller\AddonsController;
/**
* 留言板后台控制器
* @author 艾逗笔<765532665@qq.com>
*/
class WebController extends AddonsController {
/**
* 留言管理
* @author 艾逗笔<765532665@qq.com>
*/
public function messages() {
$model = get_addon_model('idou_guestbook_list');
$this->setModel($model)
->common_lists();
}
/**
* 通用删除数据方法
* @author 艾逗笔<765532665@qq.com>
*/
public function delete() {
$this->setModel('idou_guestbook_list')
->setDeleteMap(array('id'=>I('id'),'mpid'=>get_mpid()))
->setDeleteSuccessUrl(create_addon_url('messages'))
->common_delete();
}
/**
* 编辑留言
* @author 艾逗笔<765532665@qq.com>
*/
public function edit() {
$this->addSubNav('编辑留言', '', 'active')
->setModel('idou_guestbook_list')
->addFormField('nickname', '留言者昵称', 'text')
->addFormField('content', '留言内容', 'textarea')
->addFormField('create_time', '留言时间', 'text')
->addFormField('status', '留言状态', 'radio', array('options'=>array(0=>'未审核',1=>'审核通过',2=>'审核不通过')))
->setFindMap(array('mpid'=>get_mpid(),'id'=>I('get.id')))
->setEditMap(array('mpid'=>get_mpid(),'id'=>I('get.id')))
->setEditSuccessUrl(create_addon_url('messages'))
->common_edit();
}
}
?>
后台管理控制器WebController中通过调用视图工具来对数据进行增删改查,用最少的代码实现最多的功能。