织梦导航菜单如何调用二级栏目

DedeCMS系统 admin 380浏览

➢实现织梦导航二级栏目调取方法:

  1. 打开include/extend.func.php文件
  2. dedecms二级栏目调用方法
  3. 织梦二级栏目使用说明

↳打开include/extend.func.php文件,添加如下代码

function display_ul($i,$var='0'){
    global $dsql;
    $row = $dsql-<GetOne("SELECT COUNT(id) as num FROM dede_arctype  WHERE reid = $i");
    if($row['num']<0 ){
        if($var=='0'){
          return ">ul class='subnav'<"; 
        }else{
          return ">/ul<";  
        }
    }
} 

↳织梦dedecms二级栏目调用方法

{dede:channelartlist row=7 typeid=top currentstyle=current}
<li>
    <a href="{dede:field.typeurl/}">{dede:field.typename/}</a>
    {dede:field.id function='display_ul(@me)'/}
    二级栏目
        {dede:channel type=son noself=yes}
        <li>
            <a href="[field:typelink/]">[field:typename/]</a>
        </li>
        {/dede:channel}
    {dede:field.id function='display_ul(@me,1)'/}
</li>
{/dede:channelartlist}

↳补充说明:

{dede:field.id function='display_ul(@me)'/}
//输出对应<ul>标签 这些输出的标签,根据自己实际代码修改自己需要的代码
{dede:field.id function='display_ul(@me,1)'/}
//输出对应<ul/>标签  这些输出的标签,根据自己实际代码修改自己需要的代码

Tips:修改extend.func.php文件中的代码,添加下拉菜单的类名class

if($row['num']>0 ){
if($var=='0'){
return "<ul class='sub'>"; 
}else{
return "</ul>";  
}
}

➢织梦导航二级栏目问题代码演示调取

<div class="top">
<h1 class="logo"><a href="javascript:;">程序SEO</a></h1>
<ul class="nav">
<li><a href="/">网站首页</a></li>
{dede:channelartlist  row='7' typeid='1,2,3,4,5,6,7'}
<li class="mainbav"><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<ul class="subnav">
{dede:channel type='son' noself='yes'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel} 
</ul>
</li>
{/dede:channelartlist}
</ul>
</div>

如上调取,一键更新访问内页访问正常,不过发现当其中一个分类没有子分类的时候,会出现只有子菜单才有对的分类名称

➢织梦一级导航栏目调取

<div class="top">
<h1 class="logo"><a href="javascript:;">程序SEO</a></h1>
<ul class="navbar">
<li><a href="{dede:global.cfg_basehost/}">网站首页</a></li>
{dede:channelartlist row='7' typeid='1,2,3,4,5,6,7'}
<li><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>
{/dede:channelartlist}
</ul>
</div>

参考文档: 织梦二级导航菜单判断是否有子栏目 有则显示否则隐藏

说明:原链接网址已失效,可以根据标题百度搜索参考下

{dede:channelartlist row=8 typeid='1,2,3,4,5'}
<li class="tab dropdown">
<a href="{dede:field.typeurl/}" class="tablink arwlink" title="{dede:field.typename/}">{dede:field.typename/}</a>
{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)?'<ul class="subnav">':'';
{/dede:field}
{dede:channel type='son' noself='yes' }
<a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}
{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)?'</ul>':'';
{/dede:field}
</li>
{/dede:channelartlist}

转载请注明:大灰牛博客 » 织梦导航菜单如何调用二级栏目