注意查看后面的注释:
{dede:channelartlist typeid='1,2,3,4,5'}
<li class='cat-item cat-item-{dede:field name="typeid"/}' data-level='1'>
<a href='{dede:field name="typeurl"/}'>
{dede:field name="typename"/}</a>
<ul class="children list-shown">
{dede:channel type='son' noself='yes'}
<li class="cat-item cat-item-[field:id/]" data-level='2'>
<a href="[field:typeurl /]">[field:typename /]</a>
<ul class="children list-shown" id='sub[field:id/]' style='display:none'>
[field:id runphp='yes']
global $dsql;
$id = @me;
$query='Select * from dede_arctype where reid='.$id;
$dsql->Execute('cates',$query);
$tmp = '';
while($row=$dsql->GetArray('cates')){
$tmp.='<li class="cat-item subli cat-item-'.$row['id'].'" data-level="3"><a href="'.str_replace("{cmspath}", "",$row['typedir']).'">'.$row['typename'].'</a></li>';
}
@me = $tmp;
[/field:id]
</ul>
</li>
{/dede:channel}
</ul>
<div class="basel-cats-toggle toggle-active"></div>
</li>
{/dede:channelartlist}
=========================================================================================================================
对栏目页通过JS加亮对应的栏目名称
1、先<input type='hidden' id='cid' value='{dede:field.typeid/}'/>
2、显示出对应的二级栏目和三级栏目,并加亮
<script>
var cid = $('#cid').val();
var level = $(".cat-item-"+cid).attr('data-level');
switch(level){
case "1":
$(".cat-item-"+cid).find("a").eq(0).css({'color':'orange'});
$('.cat-item-'+cid).find(".downarrow").eq(0).click();
break;
case "2":
$(".cat-item-"+cid).parent().parent().find("a").eq(0).css({'color':'orange'});
$('.cat-item-'+cid).parent().parent().find(".downarrow").eq(0).click();
$("#sub"+cid).slideDown();
$("#sub"+cid).prev().css({'color':'orange'});
break;
case "3":
$(".cat-item-"+cid).parent().parent().parent().parent().find("a").eq(0).css({'color':'orange'});
$('.cat-item-'+cid).parent().parent().parent().parent().find(".downarrow").eq(0).click();
$(".cat-item-"+cid).find("a").css({'color':'orange'});
$(".cat-item-"+cid).parent().parent().find("a").eq(0).css({'color':'orange'});
$(".cat-item-"+cid).parent().slideDown();
break;
}
</script>