我们都知道,织梦程序dedecms在获取顶级栏目时是非常简单的一句,{dede:channel}{/dede:channel}就搞定了栏目的调用。但是只有一级栏目有时并不够用,我们可能还需要添加多个子栏目。更重要的是,我们需要在任意页面获取全部顶级栏目下的二级和三级栏目列表的链接,原来的代码就似乎无能为力了。
蔚蓝以为任意页面,就如同蔚蓝工作室这个网站那样,首页、列表页与文章页都在调用全部的栏目列表。这才算真正解决了问题。那是怎么调用多级栏目列表呢?怎么才可以同时调用一级栏目与二级栏目呢?且看下文:
一般的栏目列表调用的是顶级栏目,代码如下:
<!--展开顶级栏目的分类-->
<H2>栏目导航</H2>
<ul>
{dede:channel type='top' }
<li><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>
</li>
{/dede:channel}
</ul>
我们可以修改一下,利用dede的文章列表子栏目代码channelartlist,调用顶级栏目,然后在其中添加二级栏目的调用,经过多次尝试之后,成功的代码如下:
<!--展开当前栏目所在全部栏目下的分类-->
<H2>栏目导航</H2>
<ul>
{dede:channelartlist typeid='top'}
<li>
<h5><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></h5>
<dl>
{dede:channel type='son' noself='true'}
<dd><a href='[field:typelink/]'>[field:typename/]</a></dd>
{/dede:channel}
</dl>
</li>
{/dede:channelartlist}
</ul>
截图案例就不上了,大家可以直接看本站的左边栏目调用。