首页 » 工作 » 正文

DedeCMS 美化插件模板——添加导航栏

发布者:站点默认
2011/06/3 浏览数(2,227) 分类:工作 DedeCMS 美化插件模板——添加导航栏已关闭评论

说明:

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

点击返回顶部
  1. 留言
  2. 联系方式