修正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)
上一篇 2021年10月28日 下午9:00
下一篇 2021年10月28日 下午10:00


相关推荐

  • 微信小程序支付 php后台对接完整代码

    微信小程序支付 php后台对接完整代码这个代码全是干货呀 拿过来可以直接使用 小程序在调起微信支付之前需要 5 个参数 这时候就需要携带 code 向后台请求 然后后台根据 code 获取 openid 再进行服务器之间的 nbsp 一 准备工作 1 小程序注册 要以公司的以身份去注册一个小程序 才有微信支付权限 2 绑定商户号 3 在小程序填写合法域二 完成以上条件 你可以得到 nbsp nbsp nbsp 小程序 appid 小程序秘钥 nbsp nbsp

    2026年3月19日
    3
  • java图书馆新地址_推荐20个5月最热门的Java开源项目

    java图书馆新地址_推荐20个5月最热门的Java开源项目以下涉及到的数据统计与2019年6月1日18点,数据来源:https://github.com/trending/java?since=monthly[1]。下面推荐的内容从Java学习文档到最热门的框架再到热门的工具应有尽有,建议收藏+在看!1.LeetCodeAnimation•Github地址:https://github.com/MisterBooo/L…

    2022年7月7日
    26
  • wannacry病毒作者_wannacry病毒利用了哪种漏洞

    wannacry病毒作者_wannacry病毒利用了哪种漏洞1.样本概况1.1样本信息病毒名称:Trojan-Ransom.Win32.Wanna.m所属家族:木马/勒索/蠕虫MD5:DB349B97C37D22F5EA1D1841E3C89EB4SHA1:E889544AFF85FFAF8B0D0DA705105DEE7C97FE26CRC32:9FBB12271.2测试环境及工具…

    2022年10月9日
    2
  • OpenClaw(Clawdbot)+Skills零门槛教程:2026年阿里云一键部署全指南

    OpenClaw(Clawdbot)+Skills零门槛教程:2026年阿里云一键部署全指南

    2026年3月13日
    2
  • docker启动mysql容器失败_docker 进入容器

    docker启动mysql容器失败_docker 进入容器实现命令如下:[root@localhost/]#dockersearchmysql(查找mysql镜像,此处如果无法获取到镜像,则可能是网络问题,需要保证虚拟机可以联网)[root@localhost/]#dockerpullmysql(拉取mysql镜像)[root@localhost/]#dockerimagels(查看所有的镜像)[root@…

    2022年10月5日
    3
  • coturn 配置初探

    coturn 配置初探概述 Coturn 是 webrtc p2p 视频通话必不少的 主要包含 2 个主要功能 stun 服务 turn 服务 Coturn 的 githup 地址为 https github com coturn coturn 安装有两种方式安装 第一种是使用编译好的 第二种方式是自己编译第一种编译好的下载地址为 http turnserver open sys org downloads 第二种方式

    2026年3月16日
    2

发表回复

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

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