帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[原创]帝国cms简单修改实现TAGS以TAGID的方式伪静态 【本版专题贴子】  
 1/9     1 2 3 4 5 6 7 8 9 ›› ›|
主题:[原创]帝国cms简单修改实现TAGS以TAGID的方式伪静态 [加入收藏夹]   

5160387
用户头衔:进士

精华贴   :0
发贴数   :702
经验值   :2536
注册时间:2012-12-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]帝国cms简单修改实现TAGS以TAGID的方式伪静态
帝国cms简单修改实现TAGS以TAGID的方式伪静态

看到不少人需求,就整理下吧。(此方法源于本论坛热心用户:pmume 。我只是稍作整理。版权归原作者

此方法可解决主机伪静态中文问题。至于SEO什么的 仁者见仁智者见智吧
伪静态规则,伪静态形式全部可以按照帝国原有的后台来走。(本方法修改系统文件)

第一步、打开/e/class/connect.php文件,找到
//返回TAGS列表伪静态
function eReturnRewriteTagsUrl


此函数整个修改为:
//返回TAGS列表伪静态
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文件

1、17 18行左右 找到:
//TAGS
$tagid=(int)$_GET['tagid'];

修改为:
//TAGS
$tagid=(int)$_GET['tagname'];


2、分页修改:
193行左右找到 $listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
修改为:
    //伪静态
    $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);//分页
    }


至此即可实现按ID伪静态。本方法未测试其他不可预测问题,请自行斟酌使用。

原帖笔记连接:http://www.phpin.net/thread-269-1-1.html

[该贴被修改 1 次,最后修改时间 2015-02-10 09:34:05 ]


帝国教程/插件/二开/PHP知识网:www.phpin.net
免费无弹窗小说网:www.zhaibei.com
穿衣打扮网:www.nvziba.com
2015-02-10 09:27:24 已设置保密 顶部 回复 引用 报告 编辑 删除

5160387
用户头衔:进士

精华贴   :0
发贴数   :702
经验值   :2536
注册时间:2012-12-20
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

占位编辑



帝国教程/插件/二开/PHP知识网:www.phpin.net
免费无弹窗小说网:www.zhaibei.com
穿衣打扮网:www.nvziba.com
2015-02-10 09:29:34 已设置保密 顶部 回复 引用 报告 编辑 删除

ckcljj
用户头衔:举人

精华贴   :0
发贴数   :240
经验值   :1190
注册时间:2009-07-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]




主机销售平台:http://www.west800.com QQ:19767526
2015-02-10 09:30:02 已设置保密 顶部 回复 引用 报告 编辑 删除

pmume
用户头衔:探花

精华贴   :0
发贴数   :3758
经验值   :10108
注册时间:2009-12-22
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

非常感谢楼主提到本人的名字,继续为大家服务!




东坡网 DP1037.com

帝国CMS二次开发、插件定制、性能优化、帝国站群

QQ:2253145337 帝国站长互助QQ群:308293433

2015-02-10 10:01:57 已设置保密 顶部 回复 引用 报告 编辑 删除

pmume
用户头衔:探花

精华贴   :0
发贴数   :3758
经验值   :10108
注册时间:2009-12-22
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

补充一下伪静态分页效果改的是:

/*
if($tagr['tagid']&&empty($add)&&$search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])
{
*/
        //伪静态
        $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);//分页
}
*/


原代码不做修改,只是将if和else注释掉,就可以实现分页还是伪静态




东坡网 DP1037.com

帝国CMS二次开发、插件定制、性能优化、帝国站群

QQ:2253145337 帝国站长互助QQ群:308293433

2015-02-10 10:04:38 已设置保密 顶部 回复 引用 报告 编辑 删除

shuaisky
用户头衔:秀才

精华贴   :0
发贴数   :64
经验值   :385
注册时间:2009-03-05
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

必须支持




2015-02-10 10:09:00 已设置保密 顶部 回复 引用 报告 编辑 删除

5160387
用户头衔:进士

精华贴   :0
发贴数   :702
经验值   :2536
注册时间:2012-12-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

我懒得去讲那么明白 直接替换比较来的快



帝国教程/插件/二开/PHP知识网:www.phpin.net
免费无弹窗小说网:www.zhaibei.com
穿衣打扮网:www.nvziba.com
2015-02-10 10:15:46 已设置保密 顶部 回复 引用 报告 编辑 删除

wujin0926
用户头衔:举人

精华贴   :0
发贴数   :194
经验值   :899
注册时间:2013-08-20
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

必须支持的



啦啦啦~~~我是打酱油的
2015-02-10 10:56:11 已设置保密 顶部 回复 引用 报告 编辑 删除

huahuatu
用户头衔:秀才

精华贴   :0
发贴数   :124
经验值   :494
注册时间:2015-01-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]



晕倒,,第一步就挂了,,

后台打不开。。。

##############################
第一步、打开/e/class/connect.php文件,找到
//返回TAGS列表伪静态
function eReturnRewriteTagsUrl




2015-02-10 13:48:44 已设置保密 顶部 回复 引用 报告 编辑 删除

huahuatu
用户头衔:秀才

精华贴   :0
发贴数   :124
经验值   :494
注册时间:2015-01-04
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

貌似不行。。。改了之后:

提示tag 不存在,。,


tag的链接形式是这样的:

/tags/?tagid=4






2015-02-10 14:35:40 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/9     1 2 3 4 5 6 7 8 9 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1