欢迎来到做网站吧,请先 登录注册

教程观看记录

资源投稿 | 网站地图 | 联系我们 | 收藏本站 |

做网站吧 > 图文教程 > 帝国CMS教程 >
收 藏
1800

帝国cms根据Tags调用相关文章的方法

所属栏目:帝国CMS教程 来源:未知 内容发布:做网站吧

以下是具体实现过程:
以下代码放到/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)?>

织梦二次开发QQ群

群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,群主将免费为您写解决教程!更多织梦模板、织梦插件、织梦教程请移步http://www.lol9.cn

文章关键词:帝国CMS  Tags调用  相关文章  

相关推荐
网友评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
上一篇:帝国cms简单修改实现TAGS以TAGID的方式伪静态
下一篇:帝国CMS网站迁移精华教程

返回顶部