说明:
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目录中的模板页面也可以使用这个方法哦,^_^,其它功能可以参考此方法自己写哈。