帝国cms教程

帝国CMS二次开发根据Tags调用相关文章教程

发表于:2019-03-26 15:58:10 栏目:帝国cms教程


本教程是论坛的朋友分享,帝国CMS根据Tags调用相关文章功能的教程,精准像素之前就发过了。

帝国CMS二次开发PHP跨表查询相关文章

帝国CMS二次开发PHP跨表查询相关文章

帝国cms教程

帝国CMS默认自带的相关信息调用是“[otherlink]1,'',10,32,0,0,0[/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)?>