帝国CMS列表页调用文章tag两种方法
2015-07-10 站长 站长日志
列表页调用tag的方法有两种,一种是切割副表的infotags字段,第二种种是从phome_enewstagsdata表中提取。如果采用tagid或tag静态化,则推荐使用第二种方法,效率更高。如果采用tagname的动态链接方式,可以采用第一种方法。
第一种方法:切割infotags字段
/* 列表页显示tag 开始*/ $tagstr=''; $infotags_r=explode(',',$r['infotags']); $tagscount=count($infotags_r); for($i=0;$i<$tagscount;$i++){ $tagname=$infotags_r[$i]; if(empty($tagname)){ continue; } //tagname的动态 或 伪静态 时的链接,采用以下1行代码 /*$tagslink=eReturnRewriteTagsUrl(0,$tagname);*/ //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) ,必须开启使用程序代码。