thinkphp3.2.1分页路由

最近在做一个项目,设置路由后,一切访问正常,但是分页忽然不能用了,上网查了很久,终于弄出来了,下面为方法

初始路径:

http://www.XXXX.com/index.php/Home/Index/morexuxiao.html

设置路由和隐藏index.php后路径如下

http://www.XXXX.com/morexuxiao.html

但是分页出现如下故障

http://XXXX.com/Index-morewuxiao-p-2.html文章直接回到了首页无法访问


解决方法:修改分页类。路径Library\Think\Page.class.php分类以支持路由
1、新增分页适配路由
(1)有参数

'/^Index\/morewuxiao\/(\d+)-(\d+)$/'  => 'Index/morewuxiao?id=:1&p=:2',

(2)无参数

'/^Index\/morewuxiao\/(\d+)$/'  => 'Index/morewuxiao?&p=:1',

2、修改分页类Library\Think\Page.class.php

//在23行,修改访问修饰符private为public
public $url='';
//在70行,防止经过传参后会出现问题urlencode('[PAGE]')转为小写,修改为
$this->url = str_replace(strtolower(urlencode('[PAGE]')), $page, $this->url);//开启URL不区分大小写时处理
return str_replace(urlencode('[PAGE]'), $page, $this->url);
//在80行,修正为以下实现自定义URL
/* 生成URL */
        if(empty($this->url)){
            $this->parameter[$this->p] = '[PAGE]';
            $this->url = U(ACTION_NAME, $this->parameter);
        }

3、控制器中使用方法

$Page = new  \Think\Page($count, 12);// 
$page_tpl = urlencode('[PAGE]'); 
$Page->url   =   U("articlelist/{$page_tpl}");
//$Page->url   =   U("articlelist/{$this->typeid}-{$page_tpl}");//带参数形式

参考网址:http://www.thinkphp.cn/topic/22114.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值