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); } $data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, 'sort asc,id asc'); //时间戳的转换 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('name', 'select_text', '单行输入', array('name' => '名称')) ->addTableColumn('name', '分类名称') ->addTableColumn('sort', '排序', '', '', true) ->addTableColumn('status', '状态', 'status', '', false) ->addTableColumn('right_button', '操作', 'btn') ->setTableDataList($data_list) // 数据列表 ->setTableDataPage($page->show()) // 数据列表分页 ->addRightButton('edit') // 添加编辑按钮 ->addRightButton('delete') // 添加删除按钮 ->addRightButton('forbid') // 添加禁用按钮 ->display(); } public function add() { if (IS_POST) { parent::autoCheckToken(); $data = I('post.'); $model = D('NewsCate'); $data['name'] = trim($data['name']); $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快速建立表单页面。 $menu_model = new MenuModel(); $menu_list = $menu_model->getMenuListGroupByType(); $this->assign('menu_list_json', json_encode($menu_list)); $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('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('NewsCate')->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.'); $data['name'] = trim($data['name']); $model = D('NewsCate'); if (!$m_id) { E('缺少内容ID'); } $ent = $model->getOne($m_id); if (!$ent) { E('不存在内容'); } $ent['name'] = $data['name']; $ent['sort'] = $data['sort']; $ent['status'] = $data['status']; if ($model->createSave($ent) === false) { $this->error($model->getError()); } else { $this->success('修改成功', U('index')); } } else { $info = D('NewsCate')->getOne($id); $builder = new FormBuilder(); $builder->setMetaTitle('编辑分类管理') ->setPostUrl(U('edit')) // ->setExtraHtml($this->fetch('NewsCate/detail')) ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') ->addFormItem('id', 'hidden', 'ID') ->addFormItem('name', 'text', '分类名称') ->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'); $map['_string'] = "FIND_IN_SET({$ids},cate_id)"; if (D('News')->where($map)->count('id')) { $this->error('请先删除该分组下的数据'); } 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; } }