建站代码网

热门标签

织梦dede:channelartlist标签调用二级、三级栏目且高亮的方法

如果只需要做到二级栏目高亮,可以参考CMS集中营的下文:
dede:channelartlist支持currentstyle属性的方法

如果需要当前二级栏目高亮,且当前三级栏目也高亮,可以通过C M S集中营站长为您总结的如下方法实现:

1、打开 includetaglibchannelartlist.lib.php 文件并找到
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
修改为
if($type=='son')
{
$typeid = ( !empty($refObj->Typelink->TypeInfos['id']) ?  GetTopid($refObj->Typelink->TypeInfos['id']) : 0 );
$tpsql = " reid='$typeid' AND ishidden<>1 ";
}
else
{
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
}


2、打开 includetaglibchannel.lib.php 文件并找到
if($type=='son' && $reid!=0 && $totalRow==0)
修改为
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

3、后台-->系统-->其它选项-->模板引擎禁用标签:去掉php

4、调用代码实例:
<ul>
{dede:php}
$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);
$GLOBALS['reid'] = intval($refObj->Fields['reid']);
$GLOBALS['topid'] = intval($refObj->Fields['topid']);
{/dede:php}

{dede:channelartlist type=son}
<li><a class="{dede:field.typeid runphp=yes}(@me==$GLOBALS['thisid']||@me==$GLOBALS['reid']||@me==$GLOBALS['topid'])? @me='active':@me='';{/dede:field.typeid}" href="{dede:field name='typeurl'/}"><span class="cmsjzy.cn">{dede:field name='typename'/}</span></a>
<ul>
{dede:channel type ='son' noself='yes'}
<li><a class="[field:id runphp=yes](@me==$GLOBALS['thisid'])? @me='active_son':@me='';[/field:id]" href="[field:typelink/]"><span class="www.cmsjzy.cn">[field:typename/]</span></a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
</ul>
X