/** * 单页模型控制器方法 */ public function group() { $id = I('get.id'); //类别ID if (!preg_match('/^\\d+$/i', $id)) { $this->error('url参数错误'); exit; //仿制用户恶意输出url参数 } // dump($id); // exit; //**获取当前栏目的信息 $topcate = D('Column')->where("id={$id}")->order('column_sort')->relation(true)->select(); foreach ($topcate as $k2 => $v2) { $topcate[$k2]['column_content'] = htmlspecialchars_decode($v2['column_content']); } // dump($topcate); // exit; //获取当前栏目的名称 $column_name = $topcate[0]['column_name']; $this->assign('vcolumn', $column_name); // dump($column_name); // exit; if ($topcate == null) { $this->error('参数错误'); } $this->assign('blist', $topcate); //****SEO信息 $title = $topcate[0]['column_name']; $m = M('Config'); $data = $m->field('config_webname')->find(); //dump($data); //exit; $title = $title . ' - ' . $data['config_webname']; //dump($title); //exit; $keywords = $topcate[0]['column_keyw']; $description = $topcate[0]['column_descr']; $this->assign('title', $title); $this->assign('keywords', $keywords); $this->assign('description', $description); //dump($title); //exit; $if = $topcate[0]['f_id']; if ($if == 0) { //是父级栏目的情况 //**获取栏目的下级所有子栏目 import('Class.Category', APP_PATH); //文件在当前项目目录下的class目录 $m = D('Column')->order('column_sort ASC')->relation(true)->select(); $m = Category::getChilds($m, $id); //获取id所有的下级栏目的信息 //二级导航栏目的url,可根据手机站或pc站自动适配url $modlu = __ACTION__; strpos($modlu, "mobile"); if (strpos($modlu, "mobile") == '') { //如果url中不存在mobile(不区分大小写) //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } else { //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . 'mobile' . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } // var_dump($m); // exit; $this->assign('navlist', $m); } else { //是二级栏目的情况 //**获取栏目的上级所有子栏目 $m = D('Column')->order('column_sort ASC')->relation(true)->select(); //$m=Category::getChilds($m,$id);//获取id所有的下级栏目的信息 $m = Category::getParents($m, $id); //获取id所有的下级栏目的信息 //**获取栏目父级id,并且查询下级所有子栏目 $cid = $m['0']['id']; $m = D('Column')->order('column_sort ASC')->relation(true)->select(); $m = Category::getChilds($m, $cid); //获取id所有的下级栏目的信息 //二级导航栏目的url,可根据手机站或pc站自动适配url $modlu = __ACTION__; strpos($modlu, "mobile"); if (strpos($modlu, "mobile") == '') { //如果url中不存在mobile(不区分大小写) //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } else { //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . 'mobile' . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } // var_dump($m); // exit; $this->assign('navlist', $m); } //**获取子栏目的上级栏目,全局导航 import('Class.Category', APP_PATH); //文件在当前项目目录下的class目录 $m = D('Column')->order('column_sort ASC')->relation(true)->select(); $m = Category::getParents($m, $id); //获取nv_id所有的上级栏目的信息 //全局导航栏目的url,可根据手机站或者pc站石洞适配url $modlu = __ACTION__; strpos($modlu, "mobile"); if (strpos($modlu, "mobile") == '') { //如果url中不存在mobile(不区分大小写) //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } else { //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . 'mobile' . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } // var_dump($m); // exit; $this->assign('topnavlist', $m); //**全局导航 判断设置最后一个没有尖括号 $last = count($m) - 1; $this->assign('last', $last); //echo $last; //exit; $this->display(); }
/** * 删除栏目 * @date: 2015-12-24 上午07:59:22 * @author: zhouqg * @param: variable * @return: */ public function delete() { $m = D('Column'); $id = I('get.id'); if ($id == null) { $this->error('请选择删除项!'); } $m = D('Column')->order('column_sort ASC')->select(); $m = Category::getChilds($m, $id); if (!empty($m)) { $this->error('该栏目存在子栏目,不可删除!'); } $m = D('News')->where("column_id={$id}")->select(); if (!empty($m)) { $this->error('该栏目下有内容,请先删除所有内容(包括回收站)!'); } $m = D('Column'); $count = $m->delete($id); if ($count > 0) { $this->success("删除成功!"); } else { $this->error('删除失败!'); } }
/** * 产品模型控制器方法 */ public function group() { //**字符截取函数 import('Class.String', APP_PATH); //文件在当前项目目录下的class目录 $id = I('get.id'); //类别ID if (!preg_match('/^\\d+$/i', $id)) { $this->error('url参数错误'); exit; //仿制用户恶意输出url参数 } //dump($id); //exit; $m = D('Column')->order('column_sort ASC')->relation(true)->find($id); //获取当前栏目的名称 $column_name = $m['column_name']; $this->assign('vcolumn', $column_name); // dump($m); // exit; if ($m['f_id'] == 0) { //**获取栏目的下级所有子栏目 $m = D('Column')->order('column_sort ASC')->relation(true)->select(); $m = Category::getChilds($m, $id); //获取id所有的下级栏目的信息 } else { //**获取栏目的上级所有子栏目 $m = D('Column')->order('column_sort ASC')->relation(true)->select(); //$m=Category::getChilds($m,$id);//获取id所有的下级栏目的信息 $m = Category::getParents($m, $id); //获取id所有的下级栏目的信息 //**获取栏目父级id,并且查询下级所有子栏目 $cid = $m['0']['id']; $m = D('Column')->order('column_sort ASC')->relation(true)->select(); $m = Category::getChilds($m, $cid); //获取id所有的下级栏目的信息 } // dump($m); // exit; //二级导航栏目的url,可根据手机站或pc站自动适配url $modlu = __ACTION__; strpos($modlu, "mobile"); if (strpos($modlu, "mobile") == '') { //如果url中不存在mobile(不区分大小写) //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } else { //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . 'mobile' . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } $this->assign('navlist', $m); //var_dump($m); //exit; //**获取子栏目的上级栏目 import('Class.Category', APP_PATH); //文件在当前项目目录下的class目录 $m = D('Column')->order('column_sort ASC')->relation(true)->select(); $m = Category::getParents($m, $id); //获取nv_id所有的上级栏目的信息 //全局导航栏目的url,可根据手机站或者pc站石洞适配url $modlu = __ACTION__; strpos($modlu, "mobile"); if (strpos($modlu, "mobile") == '') { //如果url中不存在mobile(不区分大小写) //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } else { //栏目url foreach ($m as $k3 => $v3) { $m[$k3]['url'] = __APP__ . '/' . 'mobile' . '/' . $v3['url'] . '/' . group . '/' . 'id' . '/' . $v3['id']; } } //var_dump($m); //exit; $this->assign('topnavlist', $m); //**全局导航 判断设置最后一个没有尖括号 $last = count($m) - 1; $this->assign('last', $last); //echo $last; //exit; //**获取当前栏目的信息 $topcate = D('Column')->where("id={$id}")->order('column_sort')->relation(true)->select(); $this->assign('nav_list', $topcate); //dump($topcate); //exit; if ($topcate == null) { $this->error('参数错误'); } $this->assign('blist', $topcate); //****SEO信息 $title = $topcate[0]['column_name']; $m = M('Config'); $data = $m->field('config_webname')->find(); //dump($data); //exit; $title = $title . ' - ' . $data['config_webname']; //dump($title); //exit; $keywords = $topcate[0]['column_keyw']; $description = $topcate[0]['column_descr']; $this->assign('title', $title); $this->assign('keywords', $keywords); $this->assign('description', $description); //dump($title); //exit; //**获取所有栏目的信息 import('Class.Category', APP_PATH); $m = D('Column')->order('column_sort')->relation(true)->select(); //查询所有栏目的信息 //dump($m); //exit; //****查询指定id的栏目下的所有子栏目文章 foreach ($topcate as $k => $v) { $cids = Category::getChildsId($m, $v['id']); //传递一个父级分类ID返回所有子分类ID $cids[] = $v['id']; //将父级id也压进来赋值给$cids //dump($cids); //exit; $where = array('nv_id' => array('IN', $cids)); //查询新闻表nv_id字段和$cids相等时的数据 $topcate[$k]['news'] = D('News')->where($where)->where("news_dell=0")->relation(true)->select(); $result = $topcate[$k]['news']; //查询新闻表下的所有文章 查询新闻数据赋值给字段news //**分页实现代码 $count = count($result); // 查询满足要求的总记录数 $Page = new \Think\Page($count, C('PAGE_PRODUCT__HOME')); // 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show(); // 分页显示输出 //**分页实现代码 //查询数据,实现分页 $where = array('nv_id' => array('IN', $cids)); //查询新闻表nv_id字段和$cids相等时的数据 $m = D('News'); $field = 'g.id,g.news_content,g.news_title,g.news_pic,g.news_sort'; $topcate[$k]['news'] = $m->alias('g')->join('LEFT JOIN tuzi_attr i ON i.id = g.news_type')->join('LEFT JOIN tuzi_column c ON c.id = g.nv_id')->field($field)->where($where)->where("news_dell=0")->order('news_sort,id desc')->limit($Page->firstRow . ',' . $Page->listRows)->select(); $result = $topcate[$k]['news']; //查询新闻表下的所有文章 查询新闻数据赋值给字段news // dump($result); // exit; } //循环过滤html src标签和截取中文函数 用于摘要简介 substr_ext函数写在commonaction.class.php中 foreach ($result as $k2 => $v2) { $result[$k2]['news_content'] = $this->substr_ext($v2['news_content'], 0, 160, 'utf-8', ""); } foreach ($result as $k2 => $v2) { $result[$k2]['news_title'] = $this->substr_ext($v2['news_title'], 0, 220, 'utf-8', ""); } foreach ($result as $k2 => $v2) { $result[$k2]['news_pic'] = __ROOT__ . $v2['news_pic']; } //全局导航栏目的url,可根据手机站或者pc站石洞适配url $modlu = __ACTION__; strpos($modlu, "mobile"); if (strpos($modlu, "mobile") == '') { //如果url中不存在mobile(不区分大小写) //文章url foreach ($result as $k3 => $v3) { $result[$k3]['url'] = __APP__ . '/' . CONTROLLER_NAME . '/' . detail . '/' . 'id' . '/' . $v3['id']; } } else { //文章url foreach ($result as $k3 => $v3) { $result[$k3]['url'] = __APP__ . '/' . 'mobile' . '/' . CONTROLLER_NAME . '/' . detail . '/' . 'id' . '/' . $v3['id']; } } // dump($result); // exit; //**分页实现代码 $this->assign('page', $show); // 赋值分页输出 //**分页实现代码 $this->assign('vlist', $result); //dump($topcate); //dump($result); //exit; $this->display(); }
public function ifedit() { $id = I('get.id'); //dump($id); $m = M('Column'); $arr = $m->find($id); //dump($arr); //exit; if ($arr['column_ifimg'] == 1) { $id = I('get.id'); //**获取栏目的下级所有子栏目 $m = D('Column')->select(); $m = Category::getChilds($m, $id); //获取id所有的下级栏目的信息 //将二维数组变成一维数组 foreach ($m as $value) { $data[] = $value['id']; } $data[] = $id; //dump($data); //exit; $m = D('Column'); //数据库表,配置文件中定义了表前缀,这里则不需要写 //判断id是数组还是一个数值 if (is_array($data)) { $where = 'id in(' . implode(',', $data) . ')'; //implode() 函数返回一个由数组元素组合成的字符串 } else { $where = 'id=' . $data; } //dump($where); //exit; $date['column_ifimg'] = 0; $count = $m->where($where)->save($date); //修改表单用save函数 if ($count > 0) { $this->success('关闭成功!'); } else { $this->error('关闭失败!'); } } else { $id = I('get.id'); //**获取栏目的下级所有子栏目 $m = D('Column')->select(); $m = Category::getChilds($m, $id); //获取id所有的下级栏目的信息 //将二维数组变成一维数组 foreach ($m as $value) { $data[] = $value['id']; } $data[] = $id; //dump($data); //exit; $m = D('Column'); //数据库表,配置文件中定义了表前缀,这里则不需要写 //判断id是数组还是一个数值 if (is_array($data)) { $where = 'id in(' . implode(',', $data) . ')'; //implode() 函数返回一个由数组元素组合成的字符串 } else { $where = 'id=' . $data; } //dump($where); //exit; $date['column_ifimg'] = 1; $count = $m->where($where)->save($date); //修改表单用save函数 if ($count > 0) { $this->success('开启成功!'); } else { $this->error('开启失败!'); } } }