帝国cms根据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)?>

时间: 2024-10-24 09:31:01

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

帝国CMS不同会员组查看文章权限判断在静态页面的实现方法

帝国CMS不同会员组查看文章权限判断在静态页面的实现方法 <?php require("class/connect.php"); include("class/db_sql.php"); include("class/config/config.php"); include("data/dbcache/class.php"); $link=db_connect(); $empire=new mysqlquery(); $

帝国cms常用标签调用方法总结

幻灯片: 1.显示表最新的头条信息(数字13代表头条,数字3代表最新) [phomeflashpic]0,4,280,255,0,0,13,3[/phomeflashpic] 2.显示栏目最新的推荐信息并且显示标题(数字2代表栏目推荐,最后的数字0代表栏目最新) [phomeflashpic]7,4,280,255,1,40,2,0[/phomeflashpic] 标题+简介(灵动标签的调用方法) [e:loop={2,1,0,0}]  <h1><a href="<?=$

帝国CMS系统tags标签出现空tags标签解决办法

具体解决办法 /* e/class/t_functions.php 搜索 */  代码如下 复制代码 $str.=$jg.'<a href="'.$tagsurl.'" target="_blank">'.$r[$i].'</a>'.$br; $jg=$br?'':$showjg; /* 改成 */  代码如下 复制代码 if(!empty($r[$i])){   $str.=$jg.'<a href="'.$tagsurl.

帝国cms灵动标签调用discuz图文帖子加简介的方法

帝国cms灵动标签调用discuz图文帖子加简介的方法 [e:loop={"select tid,subject,dateline,digest  from dy.pre_forum_thread where digest!=0 order by tid desc limit 4",10,24,0}] <?php $fr=$empire->fetch1("select attachment from dy.pre_forum_threadimage where t

帝国cms搜索关键字调用标签(showsearch)怎么用

前面ytkah介绍了如何让帝国CMS7.2搜索模板支持动态标签调用,现在我们来说说怎么调用帝国cms搜索关键字调用标签(showsearch).在帝国cms后台那边的使用方法:[showsearch]每行显示条数,总条数,栏目id,操作类型[/showsearch],参数说明:栏目id为0,则显示所有栏目的关键字 ,操作类型:0为搜索热门排行,1为最新搜索排行.问题:我在首页用[showsearch]5,5,0,1[/showsearch]调用最新搜索的时候,为什么我更新了所有内容,点他搜索出来

三种dedecms调用相关文章的方法

在文章的末尾或侧边栏添加相关文章可以提高用户的黏度,提高pv,增加se的好印象(哈哈),那么dedecms如何调用相关文章呢?有三种方法可以实现. 第一种dedecms调用相关文章的方法,用默认的likearticle {dede:likearticle row='6' titlelen='40'} <li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]<

zblog 调用相关文章标签的例子

方法是很多的,这里小编选择了三种,第一种是zblog官方比较推荐的方法,代码如下: {$aid=$article.ID} {$tagid=$article.Tags} {$cid=$article.Category.ID} {php}     $str = '';     $tagrd=array_rand($tagid);     if( sizeof($tagid)>0 && ($tagid[$tagrd]->Count)>1){         $tagi='%{'

ZBLOG PHP调用相关文章列表以及上一篇/下一篇文章代码

如果是比较小的个人博客.专题类网站项目,老蒋还是比较喜欢使用ZBLOG PHP程序的,无论是轻便度还是易用性上比WordPress简单很多,虽然WP的功能很强大,比如强大的插件和主题丰富功能是当前最为强大的博客类CMS程序,但是有些时候为了节省服务器资源和简单项目使用,还是建议尝试一些小巧的CMS.   如果我们自建ZBLOG PHP主题,或者下载到的免费主题,可能没有上一篇/下一篇的调用,以及单页面文章中的相关文章的调用,这样一来用户体验不是很好,二来不利于搜索引擎的文章相关度调用.所以老蒋把

帝国cms灵动标签调用discuz和phpwind的最新贴子

帝国cms调用Discuz最新贴子:cdb_是discuz的表前缀 <table width="100%" border="0" cellspacing="1" cellpadding="3"> [e:loop={"select tid,subject from cdb_threads order by tid desc limit 10",10,24,0}] <tr><td&