帝国cms关键字tags相关文章调用标签

2019-02-23 13:09:02 围观 :
此代码有重复

<?
$taginfo_r=explode(',',$navinfor['infotags']);
if(is_array($taginfo_r)){
        foreach($taginfo_r as $tagname){
                if($tagname){
                        $tagr=$empire->fetch1("select tagid from {$dbtbpre}enewstags where tagname='$tagname' limit 1");
                        if($tagr['tagid']){
                                $tsql=$empire->query("select * from {$dbtbpre}enewstagsdata where tagid=".$tagr['tagid']."");
                                while($tr=$empire->fetch($tsql)){
                                        if($tr['id']==$navinfor['id'] && $tr['classid']==$navinfor['classid']){
                                                continue;
                                        }
                                        if(empty($class_r[$tr['classid']]['tbname']))
                                        {
                                                continue;
                                        }
                                        $infor=$empire->fetch1("select id,classid,shopname,shopurl,newspath,filename,groupid,titleurl,title from {$dbtbpre}ecms_".$class_r[$tr['classid']]['tbname']." where id=".$tr[id]." limit 1");
                                        $ti_url=sys_ReturnBqTitleLink($infor);
                                ?>
      <div class="listsite">
        <ul>
          <li><a href="<?=$ti_url?>/" class="webname2" title="<?=$infor['title']?><?=$infor['shopname']?>"><?=$infor['title']?><?=$infor['shopname']?></a></li>
          <li class="li3"></li>
        </ul>
      </div>
                                <?
                                }
                        }
                }
        }
}
?>
 
此代码把当前文章也包含了
<!--内容页调用标签开始-->
<?
            $a="$navinfor[infotags]";
            $str=str_replace(',', ',', $a);
            $tag='';
            $t= explode(",", $str);
             
                    for($i=0;$i<count($t);$i++)
                    {
                            if($t[$i])
                            {
?>
                                   [e:loop={"SELECT tagid FROM phome_enewstags WHERE tagname = '".$t[$i]."'",1,24,0}]

                                   [tagsinfo]$bqr[tagid],10,32,21,0,0[/tagsinfo]

                                   [/e:loop]
<?
                            }
            }
            ?>

<!--内容页调用标签结束-->


根据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)?>
    匿名评论
  • 评论
人参与,条评论

相关文章

网站分类