原文来自:https://liye5.com/
帝国CMS怎么用TAG调用相关文章?帝国CMS实现用TAG调用相关文章的方法!
经常会有人问到,帝国CMS怎么用TAG调用相关文章呢?相信很多的朋友都遇到过类似的问题,那么今天帝国CMS模板网就来告诉大家告诉你帝国CMS实现用TAG调用相关文章的方法,一起来看看怎么操作吧:
用tag调用相关文章的方法在帝国官方论坛上有人发过方法,但所使用的函数效率太低而且无法制定参数,不好用。现在使用的也是利用tag调用相关文章,非常好用。
一、自定义函数
自定义函数user_OtherLink ,将此函数放入 e\class\userfun.php 文件中。
//根据tag获取相关信息
functionuser_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("selectotherlinktemp,otherlinktempsub,otherlinktempdatefrom".GetTemptb("enewspubtemp")."limit1");
$temp_r=explode("[!--empirenews.listtemp--]",$tr['otherlinktemp']);
$str='';
$tagsql=$empire->query("select*from{$dbtbpre}enewstagsdatawhereid='$navinfor[id]'andclassid='$navinfor[classid]'");
$i=0;
$isprint=array();
while($tagr=$empire->fetch($tagsql)){
if($i>=$num){
break;
}
$gsql=$empire->query("select*from{$dbtbpre}enewstagsdatawheretagid='$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."whereid='$gr[id]'limit1");
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)?>
OK,到这里就完成了,大家快去试试吧!