灰儿 发表于 2017-8-1 18:24:54

江湖家居至尊版文章详情页显示完整导航条的方法

江湖家居至尊版官方演示站文章详情页,导航条不显示最终栏目前一个栏目,如图:



解决方法:打开 /themes/aj0527/article/detail.html 模板文件,在相应位置添加如下代码:

<!--面包屑导航开始-->
<div class="main_topnav mb20">
<div class="mainwd">
    <p><span class="ico_list breadna"></span>您的位置:<a href="<{link ctl='index'}>"><{$CONFIG.site.title}></a> ><a href="<{link ctl='article'}>">学装修</a> ><a href="<{link ctl='article:items' arg0=$top_cate.cat_id}>"><{$top_cate.title}></a> <{if $top_cate.cat_id != $cate.cat_id}>
      ><a href="<{link ctl='article:items' arg0=$cate.cat_id}>"><{$cate.title}></a> <{/if}></p>
</div>
</div>
<!--面包屑导航结束-->


打开system/home/controllers/article.ctl.php文件,在函数public function detail($article_id, $page=1) 中相应位置添加如下代码:

   $top_cate = $cate;
            $filter['cat_id'] = $cat_id;
            if($cate['level'] == 3){
                $this->pagedata['childrens'] = K::M('article/cate')->childrens($cate['parent_id']);
            }else{
                if($cat_ids = K::M('article/cate')->children_ids($cat_id)){
                  $filter['cat_id'] = explode(',', $cat_ids);
                }
                if(!$childrens = K::M('article/cate')->childrens($cat_id)){
                  if($cate['level']>1){
                        $childrens = K::M('article/cate')->childrens($cate['parent_id']);
                  }                  
                }
                $this->pagedata['childrens'] = $childrens;               
            }
            if($cate['level']>1){
                $top_cate = K::M('article/cate')->cate($cate['parent_id']);
            }
            $this->pagedata['top_cate'] = $top_cate;
            $this->pagedata['cate'] = $cate;
                        
修改后,此段函数代码为:

    public function detail($article_id, $page=1)
    {
      if(!$article_id = (int)$article_id){
            $this->error(404);
      }else if(!$detail = K::M('article/article')->detail($article_id)){
            $this->error(404);
      }else if(!$cate = K::M('article/cate')->cate($detail['cat_id'])){
            $this->error(404);
      }else if(empty($detail['audit'])){
            $this->err->add('文章审核中,暂时不可访问', 211);
      }else if($detail['ontime'] && $detail['ontime'] > __TIME){
            $this->err->add('文章还未发布,暂时不可访问', 212);
      }else{
            K::M('article/article')->update_count($article_id, 'views', 1);
            if($detail['linkurl']){
                header("Location:".$detail['linkurl']);
                exit;
            }else if($detail['from'] != 'article'){
                $this->error(404);
            }else if($detail['city_id'] && ($detail['city_id'] != $this->request['city_id'])){
                $cfg = $this->system->config->get('site');
                if($cfg['multi_city'] && ($city = K::M('data/city')->city($detail['city_id']))){
                  $this->system->response_code(301);
                  header("Location:".$this->mklink("article:detail", array($article_id), null, $detail['city_id']));
                  exit();
                }
            }
            if($page == 'all'){
                $curr_content = $detail['content'];
            }else{
                $page = max((int)$page, 1);
                $offset = $page - 1;
                if(!$curr_content = $detail['content_list'][$offset]){
                  $this->error(404);
                }
                $detail['curr_content'] = $curr_content;
            }
            $pager = array('page'=>$page);
            $pager['count'] = $detail['content_count'];
            $pager['prev'] = K::M('article/article')->prev_item($article_id);
            $pager['next'] = K::M('article/article')->next_item($article_id);
            if($comment_list = K::M('article/comment')->items(array('article_id'=>$article_id, 'closed'=>0), array('comment_id'=>'DESC'), 1, 5)){
                $uids = array();
                foreach($comment_list as $k=>$v){
                  $uids[$v['uid']] = $v['uid'];
                }
                if($uids){
                  $this->pagedata['member_list'] = K::M('member/member')->items_by_ids($uids);
                }
                $this->pagedata['comment_list'] = $comment_list;
            }
                        $access = $this->system->config->get('access');
                        $this->pagedata['comment_yz'] = $access['verifycode']['comment'];
            $this->pagedata['pager'] = $pager;
$top_cate = $cate;
            $filter['cat_id'] = $cat_id;
            if($cate['level'] == 3){
                $this->pagedata['childrens'] = K::M('article/cate')->childrens($cate['parent_id']);
            }else{
                if($cat_ids = K::M('article/cate')->children_ids($cat_id)){
                  $filter['cat_id'] = explode(',', $cat_ids);
                }
                if(!$childrens = K::M('article/cate')->childrens($cat_id)){
                  if($cate['level']>1){
                        $childrens = K::M('article/cate')->childrens($cate['parent_id']);
                  }                  
                }
                $this->pagedata['childrens'] = $childrens;               
            }
            if($cate['level']>1){
                $top_cate = K::M('article/cate')->cate($cate['parent_id']);
            }
            $this->pagedata['top_cate'] = $top_cate;
            $this->pagedata['cate'] = $cate;
            $this->pagedata['detail'] = $detail;
            $seo = array('title'=>$detail['title'], 'article_desc'=>$detail['desc'], 'cate_title'=>$cate['title'], 'cate_name'=>$cate['title'], 'page'=>($page > 1) ? $page : '');
            $this->seo->init('article_detail', $seo);
            if($seo_title = $detail['seo_title']){
                $this->seo->set_title($seo_title);
            }
            if($seo_description = $detail['seo_description']){
                $this->seo->set_description($seo_description);
            }
            if($seo_keywords = $detail['seo_keywords']){
                $this->seo->set_keywords($seo_keywords);
            }
            $this->pagedata['mobile_url'] = $this->mklink('mobile/article:detail', array($article_id));
            $this->tmpl = 'article/detail.html';
      }      
    }


页: [1]
查看完整版本: 江湖家居至尊版文章详情页显示完整导航条的方法