public function index() { $nav['knowledge'] = M('Document')->where(array('doc_code' => array('LIKE', 'Knowledge%')))->order('doc_sort desc')->select(); $nav['article'] = M('Document')->where(array('doc_code' => array('LIKE', 'Article%')))->order('doc_sort desc')->select(); $nav['news'] = D('ArticleClass')->order('ac_sort desc')->select(); $nav['product'] = M('GoodsClass')->order('gc_sort desc')->select(); $nav['product'] = unlimitedForLayer($nav['product'], 'child', 'gc_parent_id', 'gc_id'); $nav['tag'] = M('GoodsTag')->where(array('tag_status' => 1))->order('tag_sort desc')->select(); $this->assign('nav', $nav); $this->display('Widget:Nav:index'); }
function unlimitedForLayer($cate, $child_name = 'child', $pid_name = 'pid', $id_name = 'id', $pid = 0) { $arr = array(); foreach ($cate as $v) { if ($v[$pid_name] == $pid) { $v[$child_name] = unlimitedForLayer($cate, $child_name, $pid_name, $id_name, $v[$id_name]); $arr[] = $v; } } return $arr; }
function unlimitedForLayer($cate, $pid = 0) { $arr = array(); foreach ($cate as $v) { //给予默认值 目的是:首先从parent_id为0 即:顶级分类开始遍历 if ($v['pid'] == $pid) { $v['child'] = unlimitedForLayer($cate, $v['id']); $arr[] = $v; } } return $arr; }
public function breakdown() { $list = M('Breakdown')->order('bd_sort desc')->select(); $list = unlimitedForLayer($list, 'child', 'bd_upid', 'bd_id'); $this->assign('list', $list); $this->display(); }
public function article_edit() { if (IS_POST) { $article_id = intval($_POST['article_id']); $data = array(); $data['article_title'] = str_rp(trim($_POST['article_title'])); $data['ac_id'] = intval($_POST['ac_id']); $data['article_key'] = str_rp(trim($_POST['article_key'])); $data['article_desc'] = str_rp(trim($_POST['article_desc'])); $data['article_url'] = str_rp(trim($_POST['article_url'])); $data['article_show'] = intval($_POST['article_show']); $data['article_sort'] = intval($_POST['article_sort']); $data['article_city_id'] = intval($_POST['article_city_id']); $data['article_content'] = str_replace('\'', ''', $_POST['article_content']); $data['article_time'] = NOW_TIME; $arc_img = 'g_' . $data['article_time']; //图片上传 if (!empty($_FILES['article_pic']['name'])) { $param = array('savePath' => 'artic/', 'subName' => '', 'files' => $_FILES['article_pic'], 'saveName' => $arc_img, 'saveExt' => ''); $up_return = upload_one($param); if ($up_return == 'error') { $this->error('图片上传失败'); exit; } else { $data['article_pic'] = $up_return; } } $res = $this->art->where('article_id=' . $article_id)->save($data); if ($res) { //search处理 $search['url'] = U('News/detail', array('id' => $article_id)); $search['title'] = $data['article_title']; $search['keywords'] = $data['article_key']; $search['description'] = $data['article_desc']; $search['img'] = $up_return; $search_id = $this->art->where(array('article_id' => $article_id))->getField('search_id'); if (empty($search_id)) { $search_id = ''; } $search_id = addSearch($search['url'], $search['title'], $search['keywords'], $search['description'], $search_id, $search['img']); $this->art->where(array('article_id' => $article_id))->setField('search_id', $search_id); } $this->success('操作成功', U('article')); exit; } else { $article_id = intval($_GET['article_id']); if ($article_id) { $vo = $this->art->where('article_id=' . $article_id)->find(); $ac_list = getArticleClassList(2); if (is_array($ac_list)) { foreach ($ac_list as $k => $v) { if ($v['ac_parent_id']) { $ac_list[$k]['ac_name'] = str_repeat(" ", $v['deep'] * 2) . '├ ' . $v['ac_name']; } } } $ac_list = unlimitedForLayer($ac_list, 'child', 'ac_parent_id', 'ac_id'); //常用城市 $this->city_list = D('District')->where('usetype=1')->order('d_sort desc')->select(); $this->assign('vo', $vo); $this->assign('ac_list', $ac_list); $this->display('article_edit'); } } }
public function detail() { $aid = intval($_GET['id']); $objAsk = D('AskView'); $askCon = $objAsk->where('Ask.id=' . $aid)->field('id,sort_name,ask_name,content,add_time,click_number,comment_num,reward,solve,point,exp,username,face,uid')->find(); $askCon = deep_htmlspecialchars_decode($askCon); if ($askCon == '') { parent::error404(); } $this->assign('askCon', $askCon); //点击次数+1 M('ask')->where('id=' . $aid)->setInc('click_number', 1); //加载支招列表 $objComment = M('comment'); $objUser = M('user'); $commentList = $objComment->where(array('aid' => $aid))->order('time desc')->select(); foreach ($commentList as $k1 => $v1) { $cPeople = $objUser->where('id=' . $v1['comment_uid'])->field('username,face')->find(); $rPeople = $objUser->where('id=' . $v1['reply_uid'])->field('username,face')->find(); $commentList[$k1]['comment_username'] = $cPeople['username']; $commentList[$k1]['reply_username'] = $rPeople['username']; $commentList[$k1]['comment_face'] = $cPeople['face']; $commentList[$k1]['reply_face'] = $rPeople['face']; } $commentList = deep_htmlspecialchars_decode($commentList); $commentList = unlimitedForLayer($commentList); $this->assign('commentList', $commentList); //最佳支招 $objBest = D('BestView'); $bestList = $objBest->where(array('aid' => $aid))->field('face,username,time,comment')->find(); $bestList = deep_htmlspecialchars_decode($bestList); $this->assign('bestList', $bestList); $this->display(); }