dedecms二级栏目分类 使用channelartlist标签实现当前栏目高亮

  1. 云栖社区>
  2. 博客>
  3. 正文

dedecms二级栏目分类 使用channelartlist标签实现当前栏目高亮

科技小能手 2017-11-12 23:24:00 浏览989
展开阅读全文

在dedecms二级栏目分类,使用channelartlist标签实现当前栏目高亮,估计你没试过!不过开发的时候需要了,也就记下来分享给大家!

使用channel也可以,但是我们需要dede二级栏目下拉的时候就要用到这个了,呵呵,使用还是非常简单的

修改一个channelartlist类就可以了

下面介绍如何使用channelartlist标签实现当前栏目高亮


1.首先找到“include\taglib\channelartlist.lib.php”文件,打开

2.搜索代码 "  $pv = new PartView($typeids[$i]['id']);  " 大概了92行,看你的版本了

3.在$pv = new PartView($typeids[$i]['id']); 下面增加入以下代码:

1
2
3
4
5
6
7
//php脚本开始
         if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){ 
             $pv->Fields['currentstyle'] = ' class="m_hover"'//输出当前栏目样式
         
         else
             $pv->Fields['currentstyle'] = ''
          }

4.到这里基本完成,我们在模板上添加代码就OK,DEDE二级栏目模版代码也分享给大家!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//html脚本开始
{dede:channelartlist row=6 typeid='top'}
<li><a href="{dede:field name='typeurl'/}" class="nav{dede:field name='currentstyle'/}"><ins>{dede:field name='typename'/}</ins></a>
{dede:field name='id' runphp='yes'}
global $dsql;
$sql = "Select typedir,typename from dede_arctype where reid=".@me." order by sortrank limit 0,5";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
$ns = $dsql->GetTotalRow();
if($ns>0){
//通过循环输出执行查询中的结果
$xinfo='<ul>';
while($row = $dsql->GetArray()){
$xinfo.='<li><a href="'.str_replace('{cmspath}','',$row['typedir']).'">'.$row['typename'].'</a></li>';
}
$xinfo.='</ul>';
@me=$xinfo;
}else{@me='';}
{/dede:field}
</li>
{/dede:channelartlist}
</ul>

dede channelartlist标签实现当前栏目高亮完成了,如果要下拉,加上CSS和JS 就完成啦!

本文转自 gutaotao1989 51CTO博客,原文链接:http://blog.51cto.com/taoyouth/1765417



网友评论

登录后评论
0/500
评论