本教程是论坛的朋友分享,帝国CMS根据Tags调用相关文章功能的教程,我的站长站之前就发过了。
帝国CMS二次开发PHP跨表查询相关文章
帝国CMS默认自带的相关信息调用是“[otherlink]1,'',10,32,0,0,0[/otherlink]”标签,我们一起来看看。相关链接标签 (otherlink)说明格式:[otherlink]标签...
可惜这位朋友并没有关注我们,还花钱找人开发的。所以说关注我们我的站长站,我们是才是真的会分享干货的网站。
根据Tags调用相关文章教程方法
以下代码放到/e/class/userfun.php里!
<?php function user_otherlink($limit=5){ 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; } } ?>
内容页模板用以下代码调用:5为显示数量 自己改
<?=user_otherlink(5)?>