温馨提醒

如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢

本文最后更新于2023年10月13日,已超过 180天没有更新

使用织梦内容管理系统时在制作菜单导航调用二级菜单的时候,会遇到这样的问题,如果有子栏目,就显示二级菜单,如果没有就不显示,下面给出代码:

打开文件include\taglib\channelartlist.lib.php

找到:

$pv->Fields['typeurl']=GetOneTypeUrlA($typeids[$i]);

在此行代码下方增加以下代码(class="active"这个是你的CSS里要设置的高亮显示样式)

if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
    $pv->Fields['currentstyle'] = 'class="active"';
}
else{
    $pv->Fields['currentstyle'] = '';
}

判断是否有子栏目

{dede:channelartlist typeid="top" current}
<li class="{dede:field.currentstyle/}{dede:field name='typeid' runphp='yes'} global $dsql; $sql = "SELECT id From `#@__arctype` WHERE reid='@me' And ishidden<>1 order by sortrank asc limit 0, 100 ";
$row = $dsql->GetOne($sql);
@me=is_array($row)?'has-sub':' ';
{/dede:field}"><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<ul>
    {dede:channel type='son' noself='yes'}
    <li><a href='[field:typeurl/]'>[field:typename/]</a></li>
    {/dede:channel}
</ul>
</li>
{/dede:channelartlist}

实现有二级栏目时一级栏目的Url输出 javascript:; 只有一级栏目就输出顶级栏目链接

{dede:field name=typeid runphp=yes}global $dsql;$row = $dsql->GetOne("select * from `#@__arctype` where reid='@me' and ishidden<>1 order by sortrank asc limit 0,1");if(is_array($row)) @me = 'javascript:;'; else @me = GetOneTypeUrlA($dsql->GetOne("select * from `#@__arctype` where id='@me' and ishidden<>1"));{/dede:field}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。