getListForCount($map); $per_page = C('ADMIN_PER_PAGE_NUM', null, false); if ($per_page === false) { $page = new \Gy_Library\GyPage($count); } else { $page = new \Gy_Library\GyPage($count, $per_page); } $order = 'sort asc,id asc'; if (!empty($get_data['click_time']) && $get_data['click_time']==='asc') { $order = 'click_time asc'; }elseif (!empty($get_data['click_time']) && $get_data['click_time']==='desc'){ $order = 'click_time desc'; } $data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order); //时间戳的转换 foreach ($data_list as &$value) { $value['create_date'] = date('Y-m-d H:i:s', $value['create_date']); } // 使用Builder快速建立列表页面。 $builder = new ListBuilder(); $builder = $builder->setMetaTitle('专题内容管理');// 设置页面标题 $builder->addTopButton('addnew'); $builder->addTopButton('save', array('title' => '保存排序')); $builder ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') ->addSearchItem('click_time', 'select', '点击量排序', array('asc' => '点击量正序','desc'=>'点击量倒序')) ->addSearchItem('', 'select_text', '单行输入', array('name' => '专题名称')) ->addTableColumn('name', '专题标题') ->addTableColumn('click_time', '点击次数') ->addTableColumn('sort', '排序','','',true) ->addTableColumn('status', '状态', 'status', '', false) ->addTableColumn('right_button', '操作', 'btn') ->setTableDataList($data_list)// 数据列表 ->setTableDataPage($page->show())// 数据列表分页 ->addRightButton('edit',array('href' => U('edit',['page'=>I('get.page'),'id'=>'__data_id__']),'data-id' => '__data_id__'))// 添加编辑按钮 ->addRightButton('delete')// 添加删除按钮 ->addRightButton('forbid')// 添加禁用按钮 ->addRightButton('self', ['title' => '文章列表', 'href' => U('TopicFromNews/index', ['topic_id' => '__data_id__']), 'class' => 'label label-success', '{key}' => '', '{condition}' => '', '{value}' =>'']) ->display(); } public function add() { if (IS_POST) { parent::autoCheckToken(); $data = I('post.'); $model = D('Topic'); $r = $model->createAdd($data); if ($r === false) { $this->error($model->getError()); } else { // sysLogs('新增内容id:' . $r); $this->success(l('add') . l('success'), U(CONTROLLER_NAME . '/index')); } } else { // 使用FormBuilder快速建立表单页面。 $builder = new FormBuilder(); $data_list = array( "status" => 1, ); if ($data_list) { $builder->setFormData($data_list); } $builder->setMetaTitle('添加专题名称')//设置页面标题 ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') ->setPostUrl(U('add'))//设置表单提交地址 ->addFormItem('name', 'text', '*专题标题') ->addFormItem('cover_id', 'picture', '*封面图','尺寸为334*188px,格式JPG、PNG、JPEG') // ->addFormItem('title', 'text', '专题标题') ->addFormItem('summary', 'textarea', '*专题简介','') ->addFormItem('banner_cover_id', 'picture', '横幅图','尺寸为910*320px,格式JPG、PNG、JPEG') ->addFormItem('sort', 'num', '排序') ->addFormItem('status', 'select', '状态', '', DBCont::getStatusList()) ->display(); } } public function save(){ if(IS_POST){ $data = I('post.'); foreach($data['id'] as $k=>$v){ $save_data['sort'] = $data['sort'][$k]; D('Topic')->where('id=' . $v)->save($save_data); } $this->success('保存成功', U('index')); } } public function edit($id) { if (IS_POST) { parent::autoCheckToken(); $m_id = I('post.id'); $data = I('post.'); $model = D('Topic'); if (!$m_id) { E('缺少内容ID'); } $ent = $model->getOne($m_id); if (!$ent) { E('不存在内容'); } $ent['name'] = $data['name']; $ent['cover_id'] = $data['cover_id']; // $ent['title'] = $data['title']; $ent['summary'] = $data['summary']; $ent['banner_cover_id'] = $data['banner_cover_id']; $ent['sort'] = $data['sort']; $ent['status'] = $data['status']; if ($model->createSave($ent) === false) { $this->error($model->getError()); } else { $this->success('修改成功', U('index',['page'=>$data['page']])); } } else { $info = D('Topic')->getOne($id); $info['page'] =!empty(I('get.page'))?I('get.page'):1; $builder = new FormBuilder(); $builder->setMetaTitle('编辑专题名称') ->setPostUrl(U('edit')) ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') ->addFormItem('id', 'hidden', 'ID') ->addFormItem('page', 'hidden', 'PAGE','',$info['page']) ->addFormItem('name', 'text', '*专题标题') ->addFormItem('cover_id', 'picture', '*封面图','尺寸为334*188px,格式JPG、PNG、JPEG') // ->addFormItem('title', 'text', '专题标题') ->addFormItem('summary', 'textarea', '*专题简介','') ->addFormItem('banner_cover_id', 'picture', '横幅图','尺寸为910*320px,格式JPG、PNG、JPEG') ->addFormItem('sort', 'num', '排序') ->addFormItem('status', 'select', '状态', '', DBCont::getStatusList()) ->setFormData($info) ->display(); } } public function forbid() { $ids = I('ids'); if (!$ids) { $this->error('请选择要禁用的数据'); } $r = parent::_forbid($ids); if ($r !== false) { // sysLogs('新闻分类id: ' . $ids . ' 禁用'); $this->success('禁用成功', U(CONTROLLER_NAME . '/index')); } else { $this->error($this->_getError()); } } public function resume() { $ids = I('ids'); if (!$ids) { $this->error('请选择要启用的数据'); } $r = parent::_resume($ids); if ($r !== false) { $this->success('启用成功', U(CONTROLLER_NAME . '/index')); } else { $this->error($this->_getError()); } } public function delete() { $ids = I('ids'); if (!$ids) { $this->error('请选择要删除的数据'); } $r = parent::_del($ids); if ($r === false) { $this->error($this->_getError()); } else { $this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index')); } } public function extractNumberGetName($strs, $countarr) { $patterns = "/\d+/"; $str = ''; preg_match_all($patterns, $strs, $arr); $i = 0; foreach ($arr[0] as $key => $value) { if ($i == 0) { $str .= $countarr[$value]; } else { $str .= '、' . $countarr[$value]; } $i++; } return $str; } public function toolbars() { return ['toolbars' => [ [ 'undo', 'redo', 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|', 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|', 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|', 'indent', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|', 'simpleupload', 'insertimage', '|', 'horizontal', 'spechars', 'wordimage', '|', 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|', 'fullscreen', 'source', '|', 'attachment' ] ] ]; } }