DedeCMS二级导航菜单的实现

DedeCMS 的 channel 标签不支持嵌套,不能在模板上直接通过标签来实现多级导航菜单。也有网友通过修改 channel 标签来实现。但感觉这种方法不够通用。但感觉不够通用。我的方法不需要修改标签库,主要思路是用JS构造下级菜单,把下级菜单的HTML注入到上级DOM。上代码

<!-- 一级菜单 --> <ul class="sf-menu" id="nav">        <li>          <a href='{dede:global.cfg_cmsurl/}/'>首 页</a>        </li>           {dede:channel type='top' current>  首先是 channel 标签读出一级菜单,使用 “item+ID” 作为菜单项目的id,以后注入二级菜单的HTML时会用到。  第二步是使用SQL取出二级菜单项目。在模板上使用SQL不是个好主意,但也是不得已而为之。如果各位网友有更好的方式,请不要吝啬在本文下面告诉我。  然后是JS登场了。从代码当中穿插的注释也能看明白,就不多解释了。  最终生成的HTML类似这样

<ul id="nav" class="sf-menu">  <li> <a href="/press/">首 页</a> </li>  <li id="item1" class="sf-parent"><a href="/press/a/shiyanshigaikuang/shiyanshijieshao">实验室概况<span class="sf-arrow"></span></a>    <ul >黄色蓝色或者砖红色,犹如童话世界。

DedeCMS二级导航菜单的实现

相关文章:

你感兴趣的文章:

标签云: