织梦导航菜单二级栏目调用方法

也许很菜,花了大半天的时间研究这个织梦二级导航栏目调取,幸运的是有所收获,感谢キラ(https://www.kiraer.com/)期间的帮助,以下为总结分享!

织梦导航菜单二级栏目调用方法

问题:织梦如何实现二级栏目导航的调取?

过程:本地写好二级栏目DEMO-百度dedecms二级栏目调取-请教キラ站长-再次动手尝试

总结:

完整版织梦二级栏目调取代码

<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>

织梦二级导航栏目演示拆分:

{dede:channelartlist typeid='2'}
<li class="First"><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>
{dede:channel type='son' noself='yes'}
<li class="Second"><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
{/dede:channelartlist}

参考以上调取修改调取数量,保存上传预览发现二级栏目虽然源码有,但是访问无 ̄□ ̄||

其次发现源码展示存在"标签嵌套"错误,本来子菜单应该是被包含的关系,现在却是并列关系,用到的笨办法是根据现有标签不断调整模板代码标签,同时页面观察是否还存在嵌套

织梦导航菜单二级栏目调用方法

终于首页访问显示正常,大喜过望直接上传,一键更新却发现内页访问存在如下截图问题

织梦导航菜单二级栏目调用方法

怎么办?是不是调取ID分类有问题,因此直接指定分类,修改下调取数量加上看看

{dede:channelartlist  row='7' typeid='1,2,3,4,5,6,7'}

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

织梦导航菜单二级栏目调用方法

解决办法:去掉include/taglib/channel.lib.php中以下内容即可解决

Tips:(时间2020-10-31)如果一定要删除掉的话,可以通过自定义函数处理即可...

织梦导航菜单二级栏目调用方法

if($type=='son' && $reid!=0 && $totalRow==0)
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
$dsql->SetQuery($sql);
$dsql->Execute();
}

解决织梦二级导航栏目调取参考网址