本文共 1517 字,大约阅读时间需要 5 分钟。
在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
转载地址:http://btiga.baihongyu.com/