列表页调用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静态生成插件