修正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();
修正Thinkphp 3.2 分页Page类以支持URL路由的更多相关文章
- [转]双TOP二分法生成分页SQL类(支持MSSQL、ACCESS)
本文转自:http://www.cnblogs.com/jitian/archive/2011/03/22/1991961.html 博客开张,先发以前的几个老物件儿,以前写下来的,现在发上来权当记录 ...
- ThinkPHP数据分页Page.class.php
获取分页类 ThinkPHP提供了数据分页的扩展类库Page,能够在http://www.thinkphp.cn/extend/241.html下载,或者下载官方的完整扩展包(http://www.t ...
- 分页复用代码【Page类、JSP显示页面】
前言 为了复用,记载一些以前写过的工具类.方法 page类 import java.util.List; /** * Created by ozc on 2017/3/1. */ public cla ...
- 一个用于分页的page类
今天周一,趁工作轻松,自己就写了一个基于MySQl数据库的分页查询,做分页,最主要的是以下几点: 一:写sql语句:比如查询某张数据表的数据,sql语句为:select * from table li ...
- PHP+jQuery 列表分页类 ( 支持 url 分页 / ajax 分页 )
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8.3.mi ...
- thinkPHP生成静态分页列表
改造分页类Pagehtml.class.php <?php // 静态分页列表类 class Pagehtml extends Think { //分页url public $pageUrl; ...
- 分页 page
1.根据条件计算出数据的总数 2.import(page类); 3.实例化分页类 4.设置相关的参数 5.调用show()方法 // 导入分页类 import('ORG.Util.Page');$p ...
- PHP常用之封装分页工具类
分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完 ...
- org.springside.modules.orm中的page类自我解读
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler ...
随机推荐
- 19-10-18-Night-U
话说T3: 一句话题意……见过这个嘛…… 于是:$\sum \limits_{i!=j} \binom{a_i+b_i+a_j+b_j}{a_i+a_j}$ ------------前言结束----- ...
- springboot核心技术(四)-----Docker、数据访问、自定义starter
Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使 用这个镜 ...
- java udp协议DatagramSocket类使用
package com.temp; import org.junit.Test; import java.io.*; import java.net.DatagramPacket; import ja ...
- 原生js 判断变量是一个数组
const arr = [] // 1. 最简单 ES5+ Array.isArray(arr) // 2. 兼容性好的方法,也很准确 Object.prototype.toString.call(a ...
- std::map插入失败会返回什么
总所周知,map不能存在2个相同的key,那么如果是后插入的key,对应的value不会添加上去,也不会覆盖原来的,此时会返回一个std::pair<iterator,bool>,可以根据 ...
- mybatis学习:mybatis注解开发一对多
实体类User: public class User implements Serializable { private Integer id; private String username; pr ...
- 字符界面总是显示 login incorrect
一般来说出现这样的提示,是因为登陆的密码错误,如果密码中有数字,最好用主键盘输入,用数字键盘会有错误.
- Django项目:CRM(客户关系管理系统)--42--34PerfectCRM实现CRM自定义用户
#models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...
- TZ_08_maven把第三方 jar 包放入本地仓库或私服
--安装第三方jar包到本地仓库 需求:首先下载jar包并且找到对应的 -DgroupId=? -DartifactId=? -Dversion=? -Dpackaging=jar -Dfile=j ...
- JavaScript也是黑客技术?
JavaScript 超级 BUG!多款 x86/ARM 处理器瞬间遭破解 https://www.oschina.net/news/82108/javascript-bug-cause-cpu-as ...