• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:东东网 > 近期动态 > 建站常见问题 > 正文

织梦channelartlist高亮并且让嵌套标签里的channel也支持currentstyle高亮

发布时间:2021-04-30 | 发布者: 东东工作室 | 浏览次数:

dede:channelartlist栏目高亮实现教程

打开 /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['reid'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] || $typeids[$i]['id'] == GetTopid($refObj->TypeLink->TypeInfos['id']) )
{
	$pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'current';
}
else
{
	$pv->Fields['currentstyle'] = '';
}

然后 dede:channelartlist 标签里是高亮标签调用是

{dede:field.currentstyle/}

例如下面的写法

嵌套标签

<p class="nav">
    <ul>
        {dede:channelartlist row=7 typeid=top currentstyle="current"}
        <li class="{dede:field.currentstyle/}">
            <a href="{dede:field.typeurl/}">{dede:field.typename/}</a>
            <ul>
                {dede:channel type='son' noself='yes' row='10' currentstyle="<li class='hover'><a href='~typelink~'>~typename~</a></li>"}
                <li><a href="[field:typeurl/]">[field:typename/]</a></li>
                {/dede:channel}
            </ul>
        </li>
        {/dede:channelartlist}
    </ul>
</p>

channelartlist嵌套channel标签也高亮实现教程

打开 /include/taglib/channel.lib.php 找到

global $dsql;

在它下面加入

global $tid;
global $aid;
$query = "SELECT typeid FROM `dede_arctiny` WHERE id='$aid' ";
$arr = $dsql->GetOne($query);

如图

继续找到

$row['id']==$typeid

改成

$row['id']==$typeid || $row['id']==$tid || $row['id']==$arr['typeid']

如图

最终效果

转载请标注:东东工作室——织梦channelartlist高亮并且让嵌套标签里的channel也支持currentstyle高亮