码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-04-19 20:20:53      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:dedecms channelartlist 栏目高亮

在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‘]); 下面增加入以下代码:

//php脚本开始
         if($typeids[$i][‘id‘] == $refObj->TypeLink->TypeInfos[‘id‘]){ 
             $pv->Fields[‘currentstyle‘] = ‘ class="m_hover"‘; //输出当前栏目样式
         } 
         else{ 
             $pv->Fields[‘currentstyle‘] = ‘‘; 
          }

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

//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 就完成啦!

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

标签:dedecms channelartlist 栏目高亮

原文地址:http://taoyouth.blog.51cto.com/2793776/1765417

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!