【2016最新】分享帝国cms tags生成ID伪静态化与tags调用

关于帝国cms tag伪静态这个问题困扰很多使用帝国CMS的新手们或者很少接触帝国程序的站长,即使已经实现了生成伪静态,还有一部分朋友不会调用tags,其实方法都是大同小异,只要后台设置无误,剩下的就是调用跟伪静态规则问题了,今天来分享下帝国cms tags以id的形式伪静态方法。

那么帝国cms tags如何生成伪静态化呢?我们一步一步的操作。

第一步:

依次打开网站根目录的e\class\connect.php文件,建议使用代码编辑工具打开,避免出现编码错误导致异常。建议使用:notepad++软件http://zhongyanfeng.com/rj/194.html

打开之后键盘ctrl+f或者自行搜索

  1. function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){

去掉整段语句,替换掉下面这段。不懂得下面我会附图

  1. //返回TAGS列表伪静态 —大碗博客2016/10/25修改http://zhongyanfeng.com/837.html
  2. function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
  3.     global $public_r,$empire,$dbtbpre;
  4.     if(!$tagid){
  5.         $tagname=RepPostVar($tagname);
  6.         if(!$tagname)
  7.         {
  8.             $r['pageurl']=$public_r['newsurl'];
  9.             $r['rewrite']=0;
  10.             return $r;
  11.         }
  12.         $tagr=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$tagname' limit 1");
  13.         if(!$tagr['tagid'])
  14.         {
  15.             $r['pageurl']=$public_r['newsurl'];
  16.             $r['rewrite']=0;
  17.             return $r;
  18.         }
  19.         $tagid=$tagr['tagid'];
  20.     }
  21.     if(emptyempty($public_r['rewritetags']))
  22.     {
  23.         $r['pageurl']=$public_r['newsurl']."e/tags/?tagid=".$tagid;
  24.         $r['rewrite']=0;
  25.     }
  26.     else
  27.     {
  28.         if($ecms==1)
  29.         {
  30.             $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagid,0),$public_r['rewritetags']);
  31.         }
  32.         else
  33.         {
  34.             $r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagid,$public_r['rewritetags']);
  35.         }
  36.         $r['rewrite']=1;
  37.     }
  38.     return $r;
  39. }

红框内的就是需要删掉或者注悉的,请认真看好,修改不对的话是不行的。
【2016最新】分享帝国cms tags生成ID伪静态化与tags调用 第1张

第二步:

打开网站根目录的e\tags\index.php文件,注销掉部分代码。也就是多加了/*跟*/的注悉标签而已。

找到

  1. if($tagr['tagid']&&emptyempty($add)&&$search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])
  2. {

改为

  1. /*
  2. if($tagr['tagid']&&empty($add)&&$search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])
  3. {
  4. */

然后找到

  1. }
  2. else
  3. {
  4.     $listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
  5. }

改为

  1. /*
  2. }
  3. else
  4. {
  5.     $listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
  6. }
  7. */

第三步:

服务器添加伪静态规则,下面以apache为例。其他类型规则大同小异,自行修改。如果有问题可以在底部评论中留言,我会第一时间回复解决。

  1. RewriteRule ^tags-(.*)-(.*)$  e/tags/index.php?tagid=$1&page=$2

第四步:

在帝国CMS后台设置tags的伪静态参数。登陆后台的系统设置-伪静态参数设置的TAGS信息列表页里面添加下面这条规则:

  1. tags-[!--tagname--]-[!--page--].html

如图
【2016最新】分享帝国cms tags生成ID伪静态化与tags调用 第2张

第五步:

在你需要调用的地方添加下面的调用标签即可。也可以在帝国CMS后台的模板-自动生成标签自行获取。

  1. [showtags]'selfinfo',10,0,'',0,'',' ',0,'','tagname'[/showtags]

【2016最新】分享帝国cms tags生成ID伪静态化与tags调用 第3张
以上步骤就是帝国cms tags生成伪静态的方法,希望能帮到大家。

大碗哥

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: