DEDECMS 模板中心

您现在的位置:主页 > 织梦大学 > 站长手记 >

织梦dedecms让channelartlist标签里的channel支持curren

来源: 编辑: 发布时间:2019-11-07热度:
打开 /include/taglib/channelartlist.lib.php 找到 $pv-Fields[typeurl] = GetOneTypeUrlA($typeids[$i]); 大约在93行,在它下面添加 if($typeids[$i][id] == $refObj-TypeLink-TypeInfos[id] || $typeids[$i][id] == $refObj-TypeLink-TypeIn...
打开 /include/taglib/channelartlist.lib.php 找到
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);

大约在93行,在它下面添加
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'] = '';
}

织梦标签channelartlist默认是不支持多层嵌套后使用currentstyle高亮,修改一个文件可以实现,模板里调用代码:里面的hover就是你的高亮样式,
<div class="nav">
    <ul>
        {dede:channelartlist row=7 typeid=top currentstyle=hover}
        <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>
</div>

打开 \include\taglib\channel.lib.php

搜索 34行

global $dsql;


修改成:

global $dsql,$_sys_globals;


继续搜索 133行左右

$row['id']==$typeid


修改成:

$row['id']==$typeid || $row['id']==$_sys_globals['typeid']

DedeCMS问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何织梦问题,我们将免费为您写解决教程!

用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点

【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下尚禹科技,让尚禹科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]

    尚禹科技:承接仿站业务,价格200元起!