自我评价:走在路上的菜鸟,想着CMS|WEB|SEO,做着可以成为牛掰程序seoer的梦!

当前位置:博客 > 问题汇总 >

[问题中]织梦导航菜单如何调用二级栏目

作者:灰牛站长•发布时间:2021-07-11 16:00:28•浏览

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

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

A.打开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>"; 
}else{
return "</ul>";  
}
}
}

B.织梦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}

C.织梦二级栏目使用说明

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

Tips:C的意思是修改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}

相关文章

手机端