免费html网站模板

dede织梦让channelartlist标签支持currentstyle属性

织梦cms教程 2021-04-27 06:00:59

dede织梦让channelartlist标签支持currentstyle属性,打开include\taglib\channelartlist.lib.php
找到
$pv-Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在此行代码下方增加以下代码:


if($typeids[$i]['id'] == $refObj-TypeLink-TypeInfos['id'] || $typeids[$i]['id'] == $refObj-TypeLink-TypeInfos['topid'] ){
$pv-Fields['currentstyle'] = $currentstyle ? $currentstyle : 'current';
}
else{
$pv-Fields['currentstyle'] = '';
}

网上找到的一般没有加$typeids[$i]['id'] ==$refObj-TypeLink-TypeInfos['topid']
添加这个后才能对二级栏目也起作用
调用方法:

{dede:channelartlist typeid='2' currentstyle='current'}
li class='{dede:field.currentstyle/}'a href='{dede:field name='typeurl'/}'{dede:field name='typename'/}/a/li
。。。
{/dede:channelartlist}
如果是当前栏目则 li的class属性显示current,否则显示class='' ,也可以修改currentstyle='这里改为你需要的类名'。

-------------------------------------------------------------------------------------------------------------------------
也可以与arclist标签相结合使用,
这样调用:
{dede:channelartlist typeid='2' currentstyle='current'}
dt a class='{dede:field.currentstyle/}' href='{dede:fieldname='typeurl'/}'{dede:field name='typename'/}/a/dt
{dede:arclist titlelen='42' row='10' current}
[field:array runphp='yes']
if(@me['currentstyle']){
@me = @me['currentstyle'];
}else{
@me = dd a href='{@me['arcurl']}'{@me['title']}/a/dd;
}
[/field:array]
{/dede:arclist}
{/dede:channelartlist}