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

帝国教程 强烈建议 2024-03-04 08:33 92 0

  列表页调用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.=''.$tagname.'';

  }

  /*结束*/

  $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.=''.$tt['tagname'].'';

  }

  /*结束*/

  $listtemp='其它代码'.$tagstr.'其它代码';

  说明:

  1、代码中的tag链接都有3种方式,可以根据实际情况进行选择。

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

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!