侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130560 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2022-06-11 星期六 / 0 评论 / 0 点赞 / 77 阅读 / 3756 字

列表页调用tag的方法有两种,一种是切割副表的infotags字段,第二种种是从phome_enewstagsdata表中提取。如果采用tagid或tag静态化,则推荐使用第二种方法,效率更高。如果采用tagname的动态链接方式,可以采用第一种方法。

列表页调用tag的方法有两种,一种是切割副表的infotags字段,第二种种是从phome_enewstagsdata表中提取。如果采用tagid或tag静态化,则推荐使用第二种方法,效率更高。如果采用tagname的动态链接方式,可以采用第一种方法。

第一种方法:切割infotags字段 
将以下代码复制到e/class/userfun.php 中

//获取某信息Tagfunction sGetInfoTag($r,$num=5){    global $empire,$dbtbpre,$public_r;    $infotags_r=explode(',',$r['infotags']);    if(!$infotags_r){        return '';    }    $infotags_r=array_filter($infotags_r);    $tagstr='';    $i=1;    foreach($infotags_r as $k=>$tagname) {        $tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagname='".$tagname."' limit 1");        if(!$tt) continue;        if($i>$num) continue;        if(empty($public_r['rewritetags']))        {            $tagurl=$public_r['newsurl']."e/tags/?tagname=".urlencode($tagname);        }else{            $tagstr=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']);        }        $tagstr.='<a href="'.$tagurl.'">'.$tagname.'</a>';        $i++;    }    return $tagstr;}

调用方式:

//$r为当前信息数组 5为最多调用多个个tag标签出来$tagstr=sGetInfoTag($r,5);//以下只是个很简单的,想要实现自己的列表样式,请参考 http://www.dgcms.cn/jishu/ecms/23.html$listtemp='<li>'.$tagstr.'</li>';

第二种方法:从phome_enewstagsdata表中提取
将以下代码复制到e/class/userfun.php 中

//获取某信息Tagfunction sGetInfoTag($r,$num=5){    global $empire,$dbtbpre,$public_r;    $sql=$empire->query("select tagid from {$dbtbpre}enewstagsdata where id='$r[id]' and classid='$r[classid]' ");    $i=1;    while($r=$empire->fetch($sql)) {        $tt=$empire->fetch1("select * from {$dbtbpre}enewstags where tagid=".$r['tagid']." limit 1");        if(!$tt) continue;        if($i>$num) continue;        $tagname=$tt['tagname'];                if(empty($public_r['rewritetags']))        {            $tagurl=$public_r['newsurl']."e/tags/?tagname=".urlencode($tagname);        }else{            $tagstr=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']);        }        $tagstr.='<a href="'.$tagurl.'">'.$tagname.'</a>';        $i++;    }    return $tagstr;}

调用方法:

//$r为当前信息数组 5为最多调用多个个tag标签出来$tagstr=sGetInfoTag($r,5);//以下只是个很简单的,想要实现自己的列表样式,请参考 http://www.dgcms.cn/jishu/ecms/23.html$listtemp='<li>'.$tagstr.'</li>';说明:

特别说明:
1、以上两种方法,任选一种,不能把两个函数同时复制到userfun.php文件,会造成函数名冲突,除非你修改任意一个函数名

2、以上代码放入列表内容模板(list.var) ,必须开启使用程序代码。

如果你看完以后,还是一头雾水,可联系本站长QQ:610712114,购买现成的Tags静态生成插件

广告 广告

评论区