QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

切换风格 注册 找回密码

php开发-PHP教程网


发表于 2018-4-15 12:13:14 | 显示全部楼层 |阅读模式
关于帝国cms tag伪静态这个问题困扰很多使用帝国CMS的新手们或者很少接触帝国程序的站长,即使已经实现了生成伪静态,还有一部分朋友不会调用tags,其实方法都是大同小异,只要后台设置无误,剩下的就是调用跟伪静态规则问题了,今天来分享下帝国cms tags以id的形式伪静态方法。
那么帝国cms tags如何生成伪静态化呢?我们一步一步的操作。
第一步:
依次打开网站根目录的e\class\connect.php文件,建议使用代码编辑工具打开,避免出现编码错误导致异常。建议使用:notepad++软件
打开之后键盘ctrl+f或者自行搜索
  1. function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
复制代码
去掉整段语句,替换掉下面这段。不懂得下面我会附图
  1. //返回TAGS列表伪静态 —大碗博客2016/10/25修改
  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. }
复制代码

红框内的就是需要删掉或者注悉的,请认真看好,修改不对的话是不行的。
tag.jpg

第二步:

打开网站根目录的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-(.*)-(.*)[        DISCUZ_CODE_15        ]nbsp; e/tags/index.php?tagid=$1&page=$2
复制代码
第四步:

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

  1. tags-[!--tagname--]-[!--page--].html
复制代码

如图
tag1.jpg

第五步:

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

  1. [showtags]'selfinfo',10,0,'',0,'',' ',0,'','tagname'[/showtags]
复制代码

tag2.jpg
以上步骤就是帝国cms tags生成伪静态的方法,希望能帮到大家。




Archiver|  

662p开源网. Powered by Niuzen

© 2001-2014 Niuzen Inc.

返回顶部