- <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替换栏目标题