Thinkphp 3.2 分页Page类 支持URL路由

 更新时间:2019-02-16 22:47:20   作者:佚名   我要评论(0)

最终目的实现以/product/lists/1-0-0-1.html这样的URL形式且支持分页。路由配置:'/^product\/lists\/(\d+)-(\d+)-(\d+)-(\d+)$/' => 'Product/lists?id=:1&a

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

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

修正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);
            }
    //使用示例
    $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();


相关文章

  • Thinkphp 3.2 分页Page类 支持URL路由

    Thinkphp 3.2 分页Page类 支持URL路由

    最终目的实现以/product/lists/1-0-0-1.html这样的URL形式且支持分页。路由配置:'/^product\/lists\/(\d+)-(\d+)-(\d+)-(\d+)$/' => 'Product/lists?id=:1&a
    2019-02-16
  • thinkphp5.1 新增模块/分组教程

    thinkphp5.1 新增模块/分组教程

    我们在开发过程中往往需要增加admin common等模块,这里吾爱给大家写出think PHP5.1新增模块的教程,官方指导手册上只有默认的命令行模式的浏览器访问也是可以的,只需要在
    2019-01-18
  • jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码

    jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码

    心血来潮想为自己的小项目做一个提醒系统,譬如私信,评论等消息都能及时传递过来。由于道行尚浅,网上那些长轮询对于我略微复杂,于是觉得还是自己写一写试试比较好。 我
    2017-03-22
  • thinkPHP5.0框架模块设计详解

    thinkPHP5.0框架模块设计详解

    本文实例讲述了thinkPHP5.0框架模块设计。分享给大家供大家参考,具体如下: 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的
    2017-03-20
  • thinkPHP5.0框架URL访问方法详解

    thinkPHP5.0框架URL访问方法详解

    本文实例讲述了thinkPHP5.0框架URL访问方法。分享给大家供大家参考,具体如下: URL设计 ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是: http://serverName/ind
    2017-03-20
  • ThinkPHP框架分布式数据库连接方法详解

    ThinkPHP框架分布式数据库连接方法详解

    本文实例分析了ThinkPHP框架分布式数据库连接方法。分享给大家供大家参考,具体如下: Thinkphp作为国内的一款流行框架,相信使用的人一定不在少数。本篇我们来分析一下Th
    2017-03-17
  • thinkPHP框架实现图像裁剪、缩放、加水印的方法

    thinkPHP框架实现图像裁剪、缩放、加水印的方法

    本文实例讲述了thinkPHP框架实现图像裁剪、缩放、加水印的方法。分享给大家供大家参考,具体如下: ThinkPHP 图片处理函数,需要文字水印字体,可在windows下 控制面板 >
    2017-03-17
  • 让ThinkPHP的模板引擎达到最佳效率的方法详解

    让ThinkPHP的模板引擎达到最佳效率的方法详解

    本文分析了让ThinkPHP的模板引擎达到最佳效率的方法。分享给大家供大家参考,具体如下: 默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持
    2017-03-15
  • thinkphp修改配置进入默认首页的方法

    thinkphp修改配置进入默认首页的方法

    thinkphp文件夹下config 里面有个convention.php文件 里面有三个配置 'DEFAULT_MODULE' => 'Home', // 默认模块 'DEFAULT_CONTROLLER' => 'Index', // 默认控制器名称 '
    2017-02-07
  • thinkPHP引入类的方法详解

    thinkPHP引入类的方法详解

    本文实例讲述了thinkPHP引入类的方法。分享给大家供大家参考,具体如下: 这里以发送邮件类phpmailer为例 1.将核心文件放入ORG目录下 2.在使用的地方,引入这个类文件 如
    2016-12-08

最新评论