Thinkphp 3.2 分页Page类 支持URL路由

最终目的实现以/product/lists/1-0-0-1.html这样的URL形式且支持分页。
路由配置:

1
'/^product\/lists\/(\d+)-(\d+)-(\d+)-(\d+)$/'  => 'Product/lists?id=:1&aid=:2&sid=:3&p=:4',

修正Library\Think\Page.class.php分类以支持路由

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//在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);
            }
    //使用示例
    $Page       new \Think\Page($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
    $page_tpl = urlencode('[PAGE]'); 
    $Page->url   =   U("Product/list/{$this->id}-{$this->aid}-{$this->sid}-{$page_tpl}");
    $show       $Page->show();

人已赞赏
文章教程

阿里提示Discuz uc.key泄露导致代码注入漏洞的解决方法

2020-1-30 15:40:39

文章教程

企业建站前 这8件事需要提前了解

2020-1-31 15:00:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索