一般的栏目列表调用的是顶级栏目,代码如下:
<!--展开顶级栏目的分类-->
<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>
==============================================
如果需要子栏目页面展开父栏目分类则可以用下边的代码
<div id="firstpane" class="menu_list">
{dede:channelartlist row='7' type ='top' typeid='2'}
<p class="menu_head"> {dede:field name='typename'/}</p>
<div style="display:none" class=menu_body id="div_{dede:field.typeid /}">
{dede:channel type='son' noself='yes' }
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
</div>
{/dede:channelartlist}
</div>
<script type=text/javascript>
$(document).ready(function(){
$("#firstpane p.menu_head").click(function(){
$(this).addClass("current").next("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp("slow");
$(this).siblings().removeClass("current");
});
$("#secondpane .menu_body:eq(1)").show();
$("#secondpane p.menu_head").mouseover(function(){
$(this).addClass("current").next("div.menu_body").slideDown(500).siblings("div.menu_body").slideUp("slow");
$(this).siblings().removeClass("current");
});
$("#div_{dede:field.reid /}").show();
})
}
</script>