织梦dedecms导航一般用到的是两级菜单比较多,二级菜单的话,可以用下面的代码:
1 2 3 4 5 6 7 8 9 |
{dede:channelartlist typeid="top"} <li> <a href="{dede:field name="typeurl"/}">{dede:field name="typename"/}</a> <ul> {dede:channel type="son"} <li><a href="[field:typeurl/]">[field:typename/]</a></li>{/dede:channel} </ul> </li> {/dede:channelartlist} |
导航三级菜单,可以使用下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
{dede:channelartlist typeid='top' row='10' currentstyle="home"} <li class="topli"> <a class="onenav" href="{dede:field name='typeurl'/}">{dede:field name="typename"/} </a> <div class="navhide"> <div class="navhdd1"> {dede:sql sql='select * from dede_arctype where reid =~id~ order by sortrank'} <div class="navhdd2"> <a href="[field:typedir function='str_replace(" {cmspath}","",@me)'/]">[field:typename/] </a> <dl> [field:id runphp='yes'] global $dsql; $id=@me; $sql='Select * from dede_arctype where reid='.$id.' ORDER BY id limit 0,20'; $dsql->SetQuery($sql); $dsql->Execute(); while($row = $dsql->GetArray()){ $url = str_replace("{cmspath}","",$row['typedir']); $str .='<dd><a href="'.$url.'">'.$row['typename'].'</a></dd>'; @me = $str; } if(@me == $id){ @me =''; } [/field:id] </dl> </div> {/dede:sql} </div> </div> </li> {/dede:channelartlist} |
但是上面的菜单有个问题,输出的链接是静态的,如果你的网站时动态的,可以使用下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<div id="nav_main"> <ul class="nav clearfix" id="nav"> <li {dede:field name=typeid runphp="yes" }(@me=="" )? @me=" class='hover' " :@me="" ;{/dede:field}> <a class="aLink" href="/">网站首页<i></i></a></li> {dede:channelartlist typeid='top' row='10' currentstyle="home"} <li class='{dede:field.currentstyle/}'> <a class="aLink" href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">{dede:field name="typename"/}<i></i></a> <ul class="subnav"> {dede:sql sql='select * from dede_arctype where reid =~id~ order by sortrank'} <li class="nav1"><a href="/plus/list.php?tid=[field:id/]" title="[field:typename/]">[field:typename/]</a></li> <dl> [field:id runphp='yes'] global $dsql; $id=@me; $sql='Select * from dede_arctype where reid='.$id.' ORDER BY id limit 0,20'; $dsql->SetQuery($sql); $dsql->Execute(); while($row = $dsql->GetArray()){ $url = str_replace("{cmspath}","",$row['typedir']); $str .='<dd><a href="/plus/list.php?tid='.$row['id'].'">'.$row['typename'].'</a></dd>'; @me = $str; } if(@me == $id){ @me =''; } [/field:id] </dl> {/dede:sql} </ul> </li>{/dede:channelartlist} </ul> </div> |
暂无评论