帝国cms修改实现TAG标签以TAGID的方式伪静态
帝国CMS简单修改实现TAGS以TAGID的方式伪静态,注:此方法已经从帝国7.5原版测试通过!(本方法修改系统文件)
改后的地址形式如:/tags-100-0.html (数字100为TAG 的 ID)
第一步、打开/e/class/connect.php文件,找到
function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
global $public_r;
$tagname=urlencode($tagname);
if(empty($public_r['rewritetags']))
{
$r['pageurl']=$public_r['newsurl']."e/tags/?tagname=".$tagname;
$r['rewrite']=0;
}
else
{
if($ecms==1)
{
$r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagname,0),$public_r['rewritetags']);
}
else
{
$r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']);
}
$r['rewrite']=1;
}
return $r;
}
此函数整个修改为:
function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
global $public_r,$empire,$dbtbpre;
if(!$tagid){
$tagname=RepPostVar($tagname);
if(!$tagname)
{
$r['pageurl']=$public_r['newsurl'];
$r['rewrite']=0;
return $r;
}
$tagr=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$tagname' limit 1");
if(!$tagr['tagid'])
{
$r['pageurl']=$public_r['newsurl'];
$r['rewrite']=0;
return $r;
}
$tagid=$tagr['tagid'];
}
if(empty($public_r['rewritetags']))
{
$r['pageurl']=$public_r['newsurl']."e/tags/?tagid=".$tagid;
$r['rewrite']=0;
}
else
{
if($ecms==1)
{
$r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagid,0),$public_r['rewritetags']);
}
else
{
$r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagid,$public_r['rewritetags']);
}
$r['rewrite']=1;
}
return $r;
}
第二步、打开/e/tags/index.php文件
找到
if(!empty($public_r['rewritetags'])&&empty($add)&&($search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']||$search=='&tagid='.$tagid.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])&&!$myorder)
{
//伪静态
$pagefunr=eReturnRewriteTagsUrl($tagid,$tagr['tagid']?$tagname:'etagid'.$tagid,0);
$pagefunr['repagenum']=0;
//分页
if($pagefunr['rewrite']==1)
{
$listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
}
else
{
$listpage=page1($num,$line,$page_line,$start,$page,$search);
}
}
else
{
$listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
}
修改为:
/*
if(!empty($public_r['rewritetags'])&&empty($add)&&($search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']||$search=='&tagid='.$tagid.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])&&!$myorder)
{
*/
//伪静态
$pagefunr=eReturnRewriteTagsUrl($tagid,$tagname,0);
$pagefunr['repagenum']=0;
//分页
if($pagefunr['rewrite']==1)
{
$listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
}
else
{$listpage=page1($num,$line,$page_line,$start,$page,$search);
}
/*
}
else
{
$listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
}
*/
第三步:后台设置tag伪静态
按照默认,设置成:tags-[!--tagname--]-[!--page--].html 即可。
第四步:服务器伪静态规则
apache的伪静态规则如下,其它类型服务器请对照此自行修改:
RewriteRule ^tags-(.*)-(.*)$ e/tags/index.php?tagid=$1&page=$2
相关帝国教程
- 12-24帝国CMS全站全文搜索有两条重复的原因
- 09-03帝国CMS列表页调用文章tag两种方法
- 07-09帝国cms如何在内容页调用当前页url链接
- 03-29在帝国CMS后台禁止了管理自己的ip地址无法访问解决办法
- 05-14帝国cms使用灵动标签标题属性加粗颜色失效的解决方法
- 12-16帝国cms专题页面点击率统计代码
- 12-05帝国cms多表查询+多表标题链接的调用
- 07-31帝国CMS栏目ID+结合项伪静态
- 11-13帝国CMS后台模型newstext字段编辑器高度修改
- 04-21帝国CMS内容模板验证权限教程
- 08-29帝国CMS二次开发替换“当前位置导航newsnav
- 07-30帝国CMS模板调用:只读取当天发布的信息
- 07-19在帝国CMS会员中心收藏夹页面去掉点击数
- 04-16phome_enewspl_set评论参数设置表
- 04-26帝国CMS6.6和7.0用哪个好该不该升级
- 06-19在帝国cms内容页里调用收藏该内容的会员信息
- 06-13帝国cms发布于10秒前 1周前 1个月前 倒计时函数设置方法
- 08-03帝国CMS最高效的几种随机文章的写法
- 09-03EcmsToSendMail() 帝国CMS发送邮件函数
- 08-03帝国cms灵动标签任意调用的方法