东方星雨

简单网络

一个爱好网络的80后男站长。

关注我东方星雨个人微信号:476847113

您现在的位置是:首页 > 站长日志

帝国CMS用tag调用相关文章的方法

2018-09-20 站长 站长日志

一、自定义函数
自定义函数 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)?>

文章评论