织梦调用导航菜单栏目,随着javascript的运用,导航栏的子栏目越来越多,在dedecms如何实现这些栏目的调用呢?
1. 一般导航栏目的调用,该类栏目只有主栏目,没有子栏目,这类栏目一般适用于企业网站和个人网站。其样式图如下:
该类栏目的dedecms调用方法比较简单,如下:
{dede:channel type='top' currentstyle=" <li class='thisclass'><a href='~typelink~'>~typename~</a> </li>"} <li><a href='[field:typeurl/]'>[field:typename/]</a></li> {/dede:channel}
注释(参数): typeid='0' 栏目ID; reid = '0' 上级栏目ID; row = '100' 调用栏目数;col = '1' 分多少列显示
(默认为单列);type = 'son | sun' son表示下级栏目,self表示同级栏目,top顶级栏目; currentstyle = '' 应用样式"。
这种方法会把后台的顶级栏目都调用出来,如果想有些栏目不被调用出来,可以加上参数typeid=‘所要调用栏目的
id’。对于调用指定的栏目可以用下面的标签:
{dede:type typeid=‘指定栏目的id’} <a href="[field:typelink /]">[field:typename /]</a> {/dede:type}
2. 带有二级子栏目的栏目的调用,这类网站用于信息分类比较多的网站,其样式图如下:
这种栏目是比较常见的,其dedecms调用代码如下:
{dede:channelartlist typeid='1,2,3,6,7,10,8,11' row='10'} //typeid=‘顶级栏目的id’ <li class="tab dropdown"><a id="{dede:field name='id'/}" href="{dede:field name='typeurl'/}" class="tablink arwlink"> {dede:field name='typename'/}</a> <ul class="subnav"> {dede:channel type='son' noself='yes'} <a href="[field:typelink/]">[field:typename/]</a> {/dede:channel} </ul> </li> {/dede:channelartlist}
对于没有子栏目的顶级栏目可以使用调用指定栏目的标签:
{dede:type typeid=‘指定栏目的id’} <li> <a href="[field:typelink /]">[field:typename /]</a> </li> {/dede:type}
这样可以实现上述栏目的调用。
3.有三级子栏目的调用代码,这类导航适用于商城等,其样式图如下:
对于这种栏目的调用代码如下:
<li> <h3> {dede:type typeid='2'}<a href='[field:typelink/]' class="depth_1"> [field:typename/]</a>{/dede:type} </h3> //顶级栏目的调用 <ul class="children" style="display: none; "> {dede:channelartlist typeid='top' typeid='2'} //二级栏目和三级栏目的调用这里typeid='子栏目所属的顶级栏目的id' <li> <h3 > <a href='{dede:field name='typeurl'/}' class="depth_2"> <span class="icon10"></span>{dede:field name='typename'/} </a> </h3> <ul> {dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,20'} //limit 起始三级栏目id 显示栏目的条数 <li><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" class="depth_3">[field:typename/]</a> </li> {/dede:sql} </ul> </li> {/dede:channelartlist} </ul> </li>
这三类基本上包括了导航栏的调用方式,而且都经过测试可以放心使用。