- <ul id="menu">
- <li><a href="#" id="select">首頁</a></li>
- <li><a href="#">公司簡介</a>
- <ul>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- </ul>
- </li>
- <li><a href="#">一級欄目</a>
- <ul>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- </ul>
- </li>
- <li><a href="#">一級欄目</a>
- <ul>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- <li><a href="#">二級欄目</a></li>
- </ul>
- </li>
- </ul>
這里我們看到,這是一個標準的二級下拉導航,包括一級頻道名,二級欄目名,還有選中的樣式。
因為首頁的鏈接是固定的,沒必要動態添加,所以我們先將首頁的鏈接代碼修改一下。
修改前:
- <li><a href="#" id="select">首頁</a></li>
修改后:
- <li><a href="<?php echo $tag['path.root']?>/" id="select">首頁</a></li>
接下來動態調用具體頻道和欄目,我們在首頁的鏈接代碼下面輸入主導航調用的標簽:
該標簽只有一個參數,作用是指定此導航標簽所調用樣式文件 index/__nav/nav_main_style.php 中"style" 的數值,默認不填則為 index/__nav/nav_main_0.php,如果寫成<?php nav_main(1) //主導航調用的標簽?>,則為 index/__nav/nav_custom_1.php。
- <?php nav_main() //主導航調用的標簽?>
- <?php
- 2. /*初始化參數
- 3. * by grysoft (狗頭巫師)
- 4. * QQ:767912290
- 5. * nav_main_custom 調用頻道導航的樣式標簽
- 6. *
- 7. * 樣式文件存于 index文件夾下 nav_main_custom_style.php 中。
- 8. * 第一參數:指定所調用樣式文件 nav_main_custom_style.php 中style 的數值。
- 9. *
- 10. * 如需要顯示頻道導航,在模板中加入 <?php nav_main_custom()?> 標簽即可。
- 11. * 此標簽內置一遞增變量 $i ,以方便制作各種樣式的菜單, 此變量可在此文件中任意地方調用。;
- 12. *
- 13. */
- 14. global $subs;
- 15. $select ='id="select"'; //選中狀態的樣式,若無選中狀態,可不添加。
- 16. $target ='target="_blank"'; //外鏈則彈出新窗口,如不需要彈出新窗口可清空此變量。
- 17.
- 18. if($params['id']!=$data['id'])if(sys_menu_info('id',true) != $data['id'])$select = '';
- 19. $target = $data['isTarget']?$target:'';
- 20.
- 21. /************** 樣式正文 ************/
- 22. ?>
- 23.
- 24. <li> <a href="<?php echo $url?>" <?php echo $target?> <?php echo $select?>><?php echo $data['title'];?></a>
- 25. <?php
- 26. /*
- 27. * 如需要頻道導航顯示子欄目菜單,將以下標簽代碼前的注釋取消即可。
- 28. */
- 29. if(!emptyempty($subs[$data['id']]))
- 30. {
- 31. ?>
- 32. <ul>
- 33. <?php nav_sub($data['id'],0,0);?>
- 34. </ul>
- 35. <?php
- 36. }
- 37. ?>
- 38. </li>
注意第15行我們將選中狀態修改成了'id="select",這里要根據你的導航代碼實際情況來改
<?php echo $url?>表示欄目鏈接地址
<?php echo $target?>表示鏈接點擊后窗口彈出狀態
<?php echo $select?>表示調用上面的'id="select"選中狀態
<?php echo $data['title'];?>表示一級頻道名
<?php nav_sub($data['id'],0,0);?> 表示調用二級子菜單樣式文件nav_sub_0.php(就是和nav_main_0.php同目錄的index/__nav/nav_sub_0.php)
這個標簽的三個參數分別表示:
$id:指定頻道下調用欄目ID;
$style:指定此導行標簽所調用樣式文件index/__nav/nav_sub_style.php 中"style" 的數值,默認不填則為 index/__nav/nav_sub_0.php;
$expand:是否同時展開子類,默認不填則為展開全部,此參數有三個可選值 0、1、2,參數為0時則關閉所有二級以下子類,只展開二級欄目,參數為1 時則展開所有子類,參數為 2 時則只展開當前欄目的子類。
再打開index/__nav/nav_sub_0.php文件進行修改,修改其代碼,修改后:
- <?php
- 2. /*初始化參數
- 3. * by grysoft (狗頭巫師)
- 4. * QQ:767912290
- 5. * nav_sub_custom 調用頻道導航 子欄目的樣式標簽
- 6. * 樣式文件存于 index文件夾下 nav_sub_custom_style.php 中。
- 7. *
- 8. * 第一參數:指定頻道下欄目調用,不填則默認當前欄目。
- 9. * 第二參數:指定所調用樣式文件 nav_sub_custom_style.php 中style 的數值,默認不填則為 sub_custom_0.php。
- 10. * 第三參數:是否同時展開子類,默認不填則為展開。
- 11. *
- 12. * 此標簽內置一遞增變量 $i ,以方便制作各種樣式的菜單, 此變量可在此文件中任意地方調用。;
- 13. *
- 14. */
- 15. $select ='class="select"'; //選中狀態的樣式,若無選中狀態,可不添加。
- 16. $target ='target="_blank"'; //外鏈則彈出新窗口,若不需彈出新窗口可清空此變量。
- 17. $ico = ispic($data['originalPic'])?'<img src="'.$data['originalPic'].'" />':''; //欄目圖標,可在后臺欄目縮略圖處上傳
- 18. $select = $params['id']==$data['id']?$select:'';
- 19. $target = $data['isTarget']?$target:'';
- 20. ?>
- 21.
- 22. <li>
- 23. <a href="<?=$url?>" <?=$target?>><?=$data['title'];?></a>
- 24. </li>
接下來我們將上面導航代碼部分多余的代碼刪除,修改后為:
- <ul id="menu">
- <li><a href="<?php echo $tag['path.root']?>/" id="select">首頁</a></li>
- <?php nav_main() //主導航調用的標簽?>
- </ul>
保存index.php模板文件,刷新網站首頁,我們看,導航部分就被調用好了。
我們把上面修改好的導航代碼復制到common.php頁面對應位置,刪除首頁鏈接部分的 id="select",commoh.php內頁模板的導航也就修改好了。
這里我們謹記幾點就可以順利調用導航代碼:
1、首先必須準備好靜態html的導航代碼且保證二級下拉菜單有效;
2、要保證html是標準的二級下拉代碼,方便循環調用和多級調用;
3、將各部分代碼分解到nav_main_style.php和nav_sub_style.php中,要保持結構不變;
4、如果是三級或多級下拉,同理操作在nav_sub_style.php繼續添加標簽調用即可
上一篇 稻殼CMS替換欄目標題