萬盛學電腦網

 萬盛學電腦網 >> CMS教程 >> 帝國CMS如何實現用tag調用相關文章?

帝國CMS如何實現用tag調用相關文章?

class="area">                    帝國CMS如何實現用tag調用相關文章?今天電腦知識吧的小編就針對這個問題簡單分享一下吧,希望可以幫助到大家:用tag調用相關文章的方法在帝國官方論壇上有人發過方法,但所使用的函數效率太低而且無法制定參數,不好用。現在使用的也是利用tag調用相關文章,非常好用。

一、自定義函數

自定義函數user_OtherLink ,將此函數放入 e\class\userfun.php 文件中。

//根據tag獲取相關信息
function user_OtherLink($num,$classid=0,$mid=0){
	global $dbtbpre,$empire,$navinfor,$class_r;
	if(empty($navinfor['infotags'])){
		return '暫無相關信息';
	}
	if($mid&&$classid&&$class_r[$classid]['modid']!=$mid){
		return '暫無相關信息';
	}
	$tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");
	$temp_r=explode("[!--empirenews.listtemp--]",$tr['otherlinktemp']);
	$str='';
	$tagsql=$empire->query("select * from {$dbtbpre}enewstagsdata where id='$navinfor[id]' and classid='$navinfor[classid]'");
	$i=0;
	$isprint=array();
	while($tagr=$empire->fetch($tagsql)){
		if($i>=$num){
			break;
		}
		$gsql=$empire->query("select * from {$dbtbpre}enewstagsdata where tagid='$tagr[tagid]'");
		while($gr=$empire->fetch($gsql)){
			$myprint='id'.$gr['id'].'class'.$gr['classid'];
			if(array_search($myprint,$isprint)!==false){
				continue;
			}
			$isprint[]=$myprint;
			if($classid&&$classid!=$gr['classid']){
				continue;
			}
			if($mid&&$mid!=$gr['mid']){
				continue;
			}
			if($gr['id']==$navinfor['id']&&$gr['classid']==$navinfor['classid']){
				continue;
			}
			$tbname=$class_r[$gr['classid']]['tbname'];
			if(!$tbname||InfoIsInTable($tbname)){
				continue;
			}
			$r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where id='$gr[id]' limit 1");
			if(!$r['id']){
				continue;
			}
			$str.=RepOtherTemp($temp_r[1],$r,$tr);
			$i+=1;
			if($i>=$num){
				break;
			}
		}
	}
	$keyboardtext=$temp_r[0].$str.$temp_r[2];
	if($str){
		return $keyboardtext;
	}else{
		return '暫無相關信息';
	}
}

二、 使用方法:

函數說明:user_OtherLink(調用條數,指定欄目id,指定模型id) ;

相關文章模板采用的是公共模板裡的相關信息模板。

調用示例:

<?=user_OtherLink(10,0,1)?>
copyright © 萬盛學電腦網 all rights reserved