欢迎访问CMS集中营! 本站QQ交流群:292800309
设为首页  |   加入收藏  |   RSS订阅  |   网站地图
CMS仿站建站技术教程_CMS免费模板源码下载-CMS集中营

首页 |  图文教程 |  免费模板 |  PHP |  MYSQL |  DIV+CSS |  JS |  ThinkPHP |  其他 | 

当前位置:首页 > 图文教程 > 帝国CMS > 正文

帝国CMS列表页调用文章tag两种方法

时间:2016-02-24 22:17:27   作者:烈鹰网络工作室   点击:
列表页调用tag的方法有两种,一种是切割副表的infotags字段,第二种种是从phome_enewstagsdata表中提取。如果采用tagid或tag静态化,则推荐使用第二种方法,效率更高。如果采用tagname的动态链接方式,可以采用第一种方法。
第一种方法:切割infotags字段
/* 列表页显示tag 开始*/
$fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_".$class_r[$r['classid']]['tbname']."_data_{$r[stb]} where id='$r[id]'");
$tagstr='';
$infotags_r=explode(',',$fr['infotags']);
$tagscount=count($infotags_r);
for($i=0;$i<$tagscount;$i++){
    $tagname=$infotags_r[$i];
    if(empty($tagname)){
        continue;
    }
    
    //tagname的动态 或 伪静态 时的链接,采用以下2行代码
/*    $tu=eReturnRewriteTagsUrl(0,$tagname);
    $tagslink=$tu['pageurl'];*/

    //tagid式的动态链接,采用以下6行代码
    $tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagname='".$tagname."' limit 1");
    if(!$tt['tagid']){
        continue;
    }else{
        $tagslink=$public_r['newsurl'].'e/tags/?tagid='.$tagid;;
    }


    //采用静态化插件时的tag链接,采用以下6行代码
/*    $tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagname='".$tagname."' limit 1");
    if(!$tt['tagid']){
        continue;
    }else{
        $tagslink=user_HtmlTagLink($tt['tagid']);
    }*/

    //返回单独一个tag的代码
    $tagstr.='<a title="'.$tagname.'" target="_blank" href="'.$tagslink.'">'.$tagname.'</a>';
}
/*结束*/
$listtemp='其它代码'.$tagstr.'其它代码';

第二种方法:从phome_enewstagsdata表中提取
/* 列表页显示tag 开始*/
$tagstr='';
$tsql=$empire->query("select tagid from {$dbtbpre}enewstagsdata where id='$r[id]' and classid='$r[classid]' ");
while($tr=$empire->fetch($tsql)){
    $tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagid=".$tr['tagid']." limit 1");
    if(!$tt['tagid']){
        continue;
    }else{
        //tagname的动态 或 伪静态 时的链接,采用以下1行代码
        //$tagslink=eReturnRewriteTagsUrl(0,$tt['tagname'],1);

        //tagid式的动态链接,采用以下1行代码
        $tagslink=$public_r['newsurl'].'e/tags/?tagid='.$tt['tagid'];

        //采用静态化插件时的tag链接,采用以下1行代码
        //$tagslink=user_HtmlTagLink($tt['tagid']);
    }
    $tagstr.='<a title="'.$tagname.'" target="_blank" href="'.$tagslink.'">'.$tt['tagname'].'</a>';
}
/*结束*/
$listtemp='其它代码'.$tagstr.'其它代码';

说明:
1、代码中的tag链接都有3种方式,可以根据实际情况进行选择。
2、以上代码放入列表内容模板(list.var)  ,必须开启使用程序代码。
TAGS:帝国cms tag