コード例 #1
0
 /**
  * 单页模型控制器方法
  */
 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();
 }
コード例 #2
0
ファイル: ColumnController.class.php プロジェクト: zqge/eplus
 /**
 * 删除栏目
 * @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('删除失败!');
     }
 }
コード例 #3
0
 /**
  * 产品模型控制器方法
  */
 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();
 }
コード例 #4
0
 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('开启失败!');
         }
     }
 }