列表頁調用tag的方法有兩種,一種是切割副表的infotags字段,第二種種是從phome_enewstagsdata表中提取。如果采用tagid或tag靜態化,則推薦使用第二種方法,效率更高。如果采用tagname的動態鏈接方式,可以采用第一種方法。
/* 列表頁顯示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.'其它代碼';
/* 列表頁顯示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) ,必須開啟使用程序代碼。
新聞熱點
疑難解答