帝國CMS實現(xiàn)通過用tag標(biāo)簽調(diào)用相關(guān)文章
用tag調(diào)用相關(guān)文章的方法在帝國官方論壇上有人發(fā)過方法,但所使用的函數(shù)效率太低而且無法制定參數(shù),不好用。東坡網(wǎng)現(xiàn)在使用的也是利用tag調(diào)用相關(guān)文章,非常好用。
一、自定義函數(shù)
自定義函數(shù)user_OtherLink ,將此函數(shù)放入 eclassuserfun.php 文件中。
//根據(jù)tag獲取相關(guān)信息function user_OtherLink($num,$classid=0,$mid=0){global $dbtbpre,$empire,$navinfor,$class_r;if(empty($navinfor['infotags'])){return '暫無相關(guān)信息';}if($mid&&$classid&&$class_r[$classid]['modid']!=$mid){return '暫無相關(guān)信息';}$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 '暫無相關(guān)信息';}}
二、 使用方法:
函數(shù)說明:user_OtherLink(調(diào)用條數(shù),指定欄目id,指定模型id) ;
相關(guān)文章模板采用的是公共模板里的相關(guān)信息模板。
調(diào)用示例:
<?=user_OtherLink(10,0,1)?>
責(zé)任編輯:實速科技