前端学堂(好切网)-Web前端开发,网页切图教程分享平台
前端学堂(好切网),PS网页切图,专业WEB前端外包网站
您的位置:首页 > 前端学堂 > CMS教程

帝国CMS内容页通过tags调用相关文章的方法

2017-03-23 12:41:03分类:CMS教程阅读(257)

使用帝国cms建站的站长都知道,帝国cms内容页的相关文章默认是通过关键词关联,进行读取的。可是对于相关文章归类,使用tag标签会更适合一些,今天好切网小编为大家介绍帝国cms内容页中,如何通过tag标签调用相关文章

1、自定义函数 user_otherlink(),将此函数放入 e\class\userfun.php 文件中。(复制以下代码插入到e\class\userfun.php文件结尾的“?>”之前)

function user_otherlink($limit=10){
	global $dbtbpre,$empire,$navinfor,$class_r;
	if($navinfor[infotags]){
		$classid=(int)$classid;
		$limit=(int)$limit;
		$tbname=$class_r[$navinfor[classid]][tbname];
		$tagarr=explode(",",$navinfor[infotags]);
		$arr=array();
		$num=ceil($limit/count($tagarr));
		foreach($tagarr as $k=>$v){
			if(count($tagarr)==$k+1){
				$num=$limit-count($arr);
			}else{
				if($i<$num){
					$num=ceil(($limit-count($arr))/count($tagarr));
				}            
			}
		$t=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$v'");
		if($t[tagid]){
			$sql=$empire->query("select id from {$dbtbpre}enewstagsdata where tagid=$t[tagid]");
			$i=0;
			while($s=$empire->fetch($sql)){
				if(in_array($s[id],$arr)||$s[id]==$navinfor[id]){
					continue;
				}else{
					$arr[]=$s[id];
					$i++;
				}
				if($i==$num){
					break;
				}
				if(count($arr)==$limit){
					break 2;
				}
			}
			if($t[num]>$num){
				$linshi=$t[tagid];
			}
		}
		}
		if(count($arr)>0){
			$inid=implode(",",$arr);
			if(count($arr)<$limit&&$linshi){
				$sql=$empire->query("select id from {$dbtbpre}enewstagsdata where tagid=$linshi and id not in($inid)");
					while($s=$empire->fetch($sql)){
						$arr[]=$s[id];
						if(count($arr)==$limit){
							break;
						}
					}
			}
			$inid=implode(",",$arr);
			$str="";
			$news=$empire->query("select id,title,titleurl,titlepic from {$dbtbpre}ecms_{$tbname} where id in($inid)");
			while($n=$empire->fetch($news)){
				$str.='<li><a href="'.$n[titleurl].'">'.$n[title].'</a></li>'; 
			}       
		}
		return $str;
	}
}

 2、使用方法:模板中插入user_otherlink()函数。

在文章内容页模板文件中的对应位置插入此函数,例如:

<ul class="new_slist">
	<?=user_otherlink(10)?>
</ul>

其中“10”为显示条数,可以更改。

以上2步修改,就可以实现帝国CMS内容页通过tags调用相关文章了。 

原文链接:http://www.hqhtml.com/cms/18.html,出自好切网(前端学堂),转载请注明出处。
相关阅读 ~
推荐文章

© 2016 好切网(hqhtml.com) 长春诺阳科技有限公司(网页前端切图) 版权所有 吉ICP备15007500号