• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

DeDeCMS多级支持当前栏目样式currentstyle父栏目可调用

来源: www.dedecms8.com 编辑:织梦吧 时间:2011-08-13点击:

      网上流传的都是织梦早期版本的{dede:channel type=’parent’}{dede:channel}代码,5.6版之后就不能用,最近因为要实现类似的样式,网上找了半天,都做不出效果来,就自 己看了看代码,发现5.6版的由于官方的代码文档组织结构发生变化。所以5.6版,需要按照以下的方式更改,才可以实现{dede:channel type=’parent’}这样格式的调用。
      大家首先找到include/taglib/channel.lib.php文件,找到59行,代码如下:

  else if($type=='self')
    {
        if($reid==0) return '';
        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }

在此段代码之后,添加:

  else if($type=='parent')
        {    //新增代码 获得上级栏目
            $sql="Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl From dede_arctype where reid='$topid' And ishidden<>1 order by sortrank asc limit 0,$line";
        }

接下来继续往后找到代码:

  //处理同级栏目中,当前栏目的样式
                if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

修改为:

//处理同级栏目中,当前栏目的样式
                if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') || ($row['id']==$reid && $type=='parent' )) && $currentstyle!='' )

到此代码的修改完毕,大家可以试验一下。

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1978130638@qq.com ,  QQ