帝国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
相关帝国教程
- 10-08内容页调用上一篇,下一篇帝国CMS方法集合
- 11-24帝国CMS不同会员组显示不同的会员中心菜单项
- 07-11帝国CMS模板灵动标签调用父子栏目连接和名称导航
- 06-28帝国CMS二次开发跨表查询相关文章
- 01-03帝国cms模板list.var使用程序代码
- 10-19帝国cms复制栏目时同时复制子栏目
- 05-19帝国cms万能调用指定栏目名称与url链接及别名标签是什么?
- 09-21帝国cms二次开发如何调用会员名及投稿数量排名
- 09-07帝国cms在内容页模板里添加错误报告链接
- 11-12帝国cms被黑挂马种木马文件怎么处理和恢复网站的办法
- 03-21在帝国cms会员控制面板中调用好友的方法
- 12-03帝国CMS编辑器fckeditor修改:让图片自动固定宽度
- 02-24IIS环境下开启TAG伪静态
- 01-26帝国cms二次开发怎样实现时间为:几小时前、几天前等格式
- 03-31newsnav标签改英文导航的帝国CMS教程
- 10-11帝国cms自动生成缩略图和自动分页功能
- 03-22解决帝国cms官方结合项插件静态页classid为空导致无法找到页面问题
- 08-20帝国cms模板使用的灵动标签常用的变量
- 04-10帝国CMS评论调用自定义字段
- 09-27帝国CMS显示指定时间内更新的信息数量