说明:
DedeCMS的主题模板位于“/CmsRoot/templets/[styleFolder]/*.htm”,插件模板位于“/CmsRoot/templets/plus/*.htm”。
主题模板页面中可以使用arclist、channel、sql、flink、include等以“{dede:****}{/dede:****}”包括的标签,但默认的插件模板功能却很简单,如何给插件模板添加导航栏、下拉菜单?以下以高级搜索页面为例介绍一下,看下文,^_^:
高级搜索页面模板位于:
/CmsRoot/templets/plus/heightsearch.htm
技巧:
所有插件模板页面、会员模板页面等动态编译的模块都可以直接写php代码。
添加导航菜单:
打开heightsearch.htm文件,在你需要添加导航栏的位置直接写以下代码即可:
1/2、输出导航菜单(可以独立入“/cmsRoot/templets/plus/header.htm”供vote.htm等等来include):
<?php echo '<li><a href="<?php echo $cfg_basehost;?>"><?php echo $cfg_indexname;?></a></li>'; $sql = "SELECT id,typename FROM `#@__arctype` WHERE reid = '0' AND ishidden = 0 ORDER BY sortrank ASC,id ASC"; $query = $dsql->Query('nav',$sql); while ($rs = $dsql->GetArray('nav')){ echo '<li><a rel="dropmenu' .$rs['id']. '" href="/plus/list.php?tid=' . $rs['id'] . '">' . $rs['typename'] . '</a></li>'; // “rel="dropmenu[N]"”供下拉菜单调用,不使用下拉菜单时可以不加 } ?>
2/2、输出下拉菜单(可以独立入“/cmsRoot/templets/plus/footer.htm”供其它插件包含):
<!-- //二级子类下拉菜单,考虑SEO原因放置于底部 --> <script type='text/javascript' src='<?php echo $cfg_cmsurl;?>/images/js/dropdown.js'></script> <?php $sql = "SELECT id FROM `site_arctype` WHERE reid = 0 ORDER BY id"; $query = $dsql->Query('subMenu',$sql); // 循环嵌套时需要给“Query”起个不一样的名字,本例是“subMenu”、“subMenuElm”,它会使用在“GetArray”中 while ($rs = $dsql->GetArray('subMenu')){ $reid = $rs['id']; $s = "SELECT id,typename FROM `site_arctype` WHERE reid = '$reid' AND ishidden = 0"; $q = $dsql->Query('subMenuElm',$s); echo '<ul id="dropmenu'. $rs['id'] .'" class="dropMenu">' . "\r\n"; while ($r = $dsql->GetArray('subMenuElm')){ echo "\t" . '<li><a href="/plus/list.php?tid=' . $r['id'] . '">' . $r['typename'] . '</a></li>' . "\r\n"; } echo '</ul>' . "\r\n"; } ?> <script type="text/javascript">cssdropdown.startchrome("nav")</script>
<完>
投票等位于plus目录中的模板页面也可以使用这个方法哦,^_^,其它功能可以参考此方法自己写哈。