DedeCMS二級導航菜單如何實現,DEDE技術
導讀:DEDE技術DEDE技術★DedeCMS二級導航菜單如何實現★簡介: 本節內容:DedeCMS二級導航菜單的實現方法。 DedeCMS 的 channel 標簽不支持嵌套,不能在模板上織夢模板安裝織夢模板免費。
本節內容:
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' currentstyle="<li id='item~id~' class='current'><a href='~typelink~' ~rel~>~typename~</a></li>"} <li id="item[field:id/]"><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a></li> {/dede:channel} </ul> <!-- 構造二級菜單 --> <script type="text/javascript"> var cmspath = '{dede:global.cfg_cmspath/}'; var s = [], menu = []; // SQL讀出全部二級菜單項 {dede:sql sql="SELECT b.* FROM `dede_arctype` AS a INNER JOIN `dede_arctype` AS b ON b.reid = a.id AND a.reid = 0 WHERE b.ishidden<>1 order by b.reid, b.sortrank asc " db='default'} s[[field:id/]] = [[field:id/], [field:reid/], '[field:typename/]', '[field:typedir/]']; {/dede:sql} // 根據父級菜單分類 for (var i in s){ var p = s[i]; if (!menu[p[1]]){ menu[p[1]] = []; } menu[p[1]].push({ id: p[0], name: p[2], url: p[3].replace(/\{cmspath\}/, cmspath)}); } // 構造二級菜單的HTML,注入到一級菜單項 for (var j in menu){ var str = '<ul>'; for (var k in menu[j]){ var submenu = menu[j][k]; str += '<li><a href="'+ submenu.url + '">' + submenu.name + '</a></li>'; } str += '</ul>'; $('#item'+j).append(str); } </script> 首先,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">dede下瓻模板下載</span></a> <ul style="left: auto; z-index: 1007; display: none;"> <li><a href="/press/a/shiyanshigaikuang/shiyanshijieshao">實驗室介紹</a></li> <li><a href="http://www.genban.org/css/">實驗室主任</a></li> <li><a href="/press/a/yanjiufangxiang">研究方向</a></li> <li><a href="/press/a/zuzhijiagou">組織架構</a></li> </ul> </li> <li id="item2" class="sf-parent"><a href="http://www.genb織夢模板下載an.org/">科研項目<span class="sf-arrow"></span></a> <ul style="left: auto; z-index: 1002; display: none;"> <li><a href="/press/a/hengxiangxiangmu">橫向項目</a></li> <li><a href="http://www.genban.org/seo/">縱向項目</a></li> </ul> </li> </ul> 至此,我們就完成dede模板免費dedecms中二級導航菜單的制作,希望對大家有所幫助。 相關織夢模板安裝織夢模板免費。聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-20 ,文章DedeCMS二級導航菜單如何實現,DEDE技術主要講述如何實現,菜單,CMS網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_31192.html