MemberController.class初始化控制器中用到的common_add方法
1 <?php 2 public function common_add($model = null, $templateFile = '') { 3 is_array ( $model ) || $model = $this->getModel ( $model ); //若$model不存在或不是数组,用getModel函数查询数据库,并给$model赋值 4 if (IS_POST) { //判读是否有POST传参,若有执行下面代码 5 $Model = D ( parse_name ( get_table_name ( $model ['id'] ), 1 ) ); //获取表名并且转换格式后实例化该表 6 // 获取模型的字段信息 7 $Model = $this->checkAttr ( $Model, $model ['id'] ); 8 if ($Model->create () && $id = $Model->add ()) { //如果模型数据添加成功,返回成功信息 9 $this->_saveKeyword ( $model, $id ); 10 11 $this->success ( '添加' . $model ['title'] . '成功!', U ( 'lists?model=' . $model ['name'], $this->get_param ) ); 12 } else { 13 $this->error ( $Model->getError () ); //数据添加错误,返回错误信息 14 } 15 } else { //没POST传参,执行下面代码 16 $fields = get_model_attribute ( $model ['id'] ); //获取模型中id字段名称 17 $this->assign ( 'fields', $fields ); //分配$fields数据 18 $this->meta_title = '新增' . $model ['title']; //设置meta_title的值 19 20 $templateFile || $templateFile = $model ['template_add'] ? $model ['template_add'] : ''; //判断或者给模板变量赋值 21 $this->display ( $templateFile ); //显示模板 22 } 23 }
MemberController.class初始化控制器中用到的common_add方法
1 <?php 2 public function common_del($model = null, $ids = null) { //声明函数 3 is_array ( $model ) || $model = $this->getModel ( $model ); //使用getModel()函数查询数据库中model表信息 ,返回数组并交给模板 4 5 ! empty ( $ids ) || $ids = I ( 'id' ); //若$ids为空或不存在,把传过来的值交给$ids 6 ! empty ( $ids ) || $ids = array_filter ( array_unique ( ( array ) I ( 'ids', 0 ) ) ); //同上,判断并回调函数赋值 7 ! empty ( $ids ) || $this->error ( '请选择要操作的数据!' ); //判断,并报错 8 9 $Model = M ( get_table_name ( $model ['id'] ) ); //获取表名,实例化对应模型 10 $map ['id'] = array ( //赋值 11 'in', 12 $ids 13 ); 14 15 // 插件里的操作自动加上Token限制 16 $token = get_token (); //获取token 17 if (defined ( 'ADDON_PUBLIC_PATH' ) && ! empty ( $token )) { //判读并赋值 18 $map ['token'] = $token; 19 } 20 21 if ($Model->where ( $map )->delete ()) { //查表并执行删除命令,成功或者失败分别抛出错误 22 $this->success ( '删除成功' ); 23 } else { 24 $this->error ( '删除失败!' ); 25 } 26 }
NoticeController.class通知控制器代码
1 <?php 2 3 namespace Addons\Card\Controller; 4 5 use Addons\Card\Controller\BaseController; 6 7 class NoticeController extends BaseController { //同样的继承基类模型 8 var $model; //定义模型 9 function _initialize() { //初始化函数 10 $this->model = $this->getModel ( 'card_notice' ); //初始化模型的信息数组 11 parent::_initialize (); //调用父类的初始化方法 12 } 13 // 通用插件的列表模型 14 public function lists() { //定义列表页的方法 15 $map ['token'] = get_token (); //设置查询方法的token值 16 session ( 'common_condition', $map ); //设置session值 17 18 parent::common_lists ( $this->model ); //调用list模板显示 19 } 20 21 // 通用插件的编辑模型 22 public function edit() { 23 parent::common_edit ( $this->model ); 24 } 25 26 // 通用插件的增加模型 27 public function add() { 28 parent::common_add ( $this->model ); 29 } 30 31 // 通用插件的删除模型 32 public function del() { 33 parent::common_del ( $this->model ); 34 } 35 36 //预览通知界面 37 function show() { 38 $map ['token'] = get_token (); 39 $list = M ( 'card_notice' )->where ( $map )->order ( 'id desc' )->select (); 40 $this->assign ( 'list', $list ); 41 42 $this->display (); 43 } 44 } 45