修正Thinkphp 3.2 分页Page类以支持URL路由

修正Thinkphp 3.2 分页Page类以支持URL路由

http://www.thinkphp.cn/topic/22114.html

最终目的实现以http://www.fl900.com/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();

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112868.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 双系统ubuntu20.04安装教程_ubuntu20.04网络配置

    双系统ubuntu20.04安装教程_ubuntu20.04网络配置文章目录1.激活VMware1.2下载ubuntu20.04镜像2.安装虚拟机3.安装ubuntu20.043.1开启此虚拟机3.2安装ubuntu我的网站:https://pythoneers.cn1.激活VMware下载链接:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html安装完成后,选择【帮助】,输入许可证密钥。1.2下载ubuntu20.04镜像htt.

    2022年10月4日
    3
  • pycharm R语言_pycharm安装后无解释器

    pycharm R语言_pycharm安装后无解释器最近被网上的一些R语言做出的图迷住,遂突发奇想学习R语言。按照教程装好了R语言解释器与Rstudio后,才得知pycharm中有R语言的插件,安装后可以在pycharm中写R语言。pycharm安装R语言插件打开File|Settings|Plugins,在搜索框里搜索RLanguageSupport,安装就可以了。安装结束后重启pycharm,再进入File|Settin…

    2022年8月28日
    3
  • 指令重排详解_cpu指令重排序

    指令重排详解_cpu指令重排序指令重排:编译器指令重排,cpu指令重排,内存指令重排。编译器可能会调整顺序,如下图,左边是c++源码,右边是优化后顺序一条汇编指令的执行是可以分为很多步骤的,分为不同的硬件执行取指IF译码和取寄存器操作数ID执行或者有效地址计算EX(ALU逻辑计算单元)存储器访问MEM写回WB(寄存器)指令重排只可能发生在毫无关系的指令之间,如果指令之间存在依赖关系,则不会重排。单线程内程序的执行结果不能被改变。1原子性是指一个操作是不可中断的.

    2022年10月17日
    2
  • 制作系统U盘详细教程,以及分盘等基础操作

    制作系统U盘详细教程,以及分盘等基础操作制作系统U盘详细教程,以及分盘等基础操作一、简介相信很多朋友都会遇到系统崩溃,然后捧着电脑去电脑店,或者百度一番后做出系统盘无法使用的情况;综上:本人计算机系大三学生,虽经验较少但男女同学电脑都有我给做过的系统,因此为方便他人等,特制此教程。二、制作系统U盘前期准备制作U盘软件市面上的软件会有:大白菜、老毛桃、深度,U启动等,我也都用过,但目前我在用优启通。(一是:制作简单。二是:安…

    2022年6月25日
    31
  • vue的实现原理怎么回答_变压吸附的原理

    vue的实现原理怎么回答_变压吸附的原理一、Vue对比其他框架原理Vue相对于React,Angular更加综合一点。AngularJS则使用了“脏值检测”。React则采用避免直接操作DOM的虚拟dom树。而Vue则采用的是&#160

    2022年8月3日
    10
  • 硬件SPI控制ST7789V「建议收藏」

    文章目录前言一、能用的方法有那些?1.利用硬件UART模拟SPI,实现9位数据发送2.搭建一个数字逻辑电路,人为实现9位spi发送3.发送两组8位SPI二、具体操作1.具体实现总结前言这段时间闲着没事,决定自己做个手表玩玩,参考了一些开源项目和数据手册,决定主控使用STM32F411CEU6,屏幕选用了淘宝一家商家的ST7789V主控的240*240分辨率的圆形tft屏幕。利用商家给的软件spi例程成功将屏幕点亮之后,尝试使用改为硬件spi的方式,加快屏幕的刷新速度但是尝试了多种方案后始终无法点亮,

    2022年4月9日
    605

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号