关于Thinkphp3.2版本的分页问题

  最近公司官网改版,需要把旧的thinkphp版本换到现在最新的3.2去,因此,就开展了一系列的升级工作..在修改命名空间的同时,发现Page分页类能正常运行了,但是分页的链接却是错误的,例如在Admin模块的Article控制器的index动作中,本应该生成Admin-Article-index-p-xx(数字)的链接才对,但是却生成了Article-index-p-xx,也就是说少了个模块在url前面。

  找了一顿资料后发现并没有多大收效,看到Page类中创建链接的一段代码中,发现Page的url属性是由U方法生成的,于是使用了Xdebug断点进入了U中去,最后发现了段关键代码:

  

 $module =   defined(‘BIND_MODULE‘) ? ‘‘ : $module;
 $url    =   __APP__.‘/‘.($module?$module.MODULE_PATHINFO_DEPR:‘‘).implode($depr,array_reverse($var));

  这段代码意思就是,假如定义了BIND_MODULE这个常量后,url中module就会变成空字符串,回头一看,发现自己的index入口文件居然就定义了这个常量,随即去掉,一切ok!本来还想着去改他Page的代码,幸好发现了得早,不然随便改内核也是不好的!

时间: 2024-11-05 13:51:23

关于Thinkphp3.2版本的分页问题的相关文章

ThinkPHP3.2.3使用分页

首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的,使用起来还是跟以前版本差不多,但是默认的效果不敢恭维,所以最好是自己加些样式. 我加了一些样式(不怎么好看),大家可以自行的再去改进,效果图: 在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下: <?php

Thinkphp3.2版本结合phpqrcode生成二维码并提供下载

说明:这篇文章主要为大家详细介绍了Thinkphp3.2.3整合phpqrcode生成带二维码的实现方法并提供图像下载,感兴趣的小伙伴们可以参考一下 缘由:Thinkphp中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能. 一.phpqrcode下载地址:http://phpqrcode.sourceforge.net/ 放置位置:Thinkphp/Vendor/目录下,如下图 二.写代码 HTML代码 <!DOCTYPE html> <html lan

thinkphp3.2版本及文档

帮助文档 版本下载

2016/06/09 ThinkPHP3.2.3使用分页

效果图: 在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下: 1 <?php 2 /** 3 * TODO 基础分页的相同代码封装,使前台的代码更少 4 * @param $count 要分页的总记录数 5 * @param int $pagesize 每页查询条数 6 * @return \Think\Page 7 */ 8 functi

ThinkPHP3.2版本对于Model的使用

THinkphp3.2的改动很大,特别是应用了命名空间的概念,这个命名空间很类似于.NET和Java的命名空间,通过引用就可以调用,由于前期一直是搞.NET,对命名空间自认为是比较了解的,在没有完全理解ThinkPHP3.2手册的下进行了开发,导致在实例化Model下出现了语法错误,找了很久发现了其中的问题. 首先我在Home中的Model中新建了一个UserModel <?php ? namespace Home\Model; use Think\Model; class UserModel

Thinkphp3.2版本使用163邮箱发(验证码)邮件

今天忽然想写一个用户修改密码的功能,又没有短信接口,只能选择用邮箱发送验证码啦,穷啊,没办法,哈哈,以下为正文. ------------------------------------------------------------------------------------------------------------------------------------------------------------ 1.准备工作 (1)下载PHPMailer,插件,下载地址:链接:htt

ThinkPHP3.2.3学习笔记6---专题---数据分页

http://document.thinkphp.cn/manual_3_2.html#data_page thinkphp3.2.3中分类的功能调用的文件$THINKPHP_HOME/ThinkPHP/Library/Think/Page.class.php,这个文件只有150行左右,不复杂,比较容易看懂,方便自己修改,也可以在此基础上进行新功能的扩展. 控制器$THINKPHP_HOME/Application/Home/Controller/PageController.class.php

ThinkPHP- 3.1

基础: 1. 基础概念 LAMP LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台.这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境.名字来源于每个程序的第一个字母.每个程序在所有权里都符合开放源代码标准:Linux是开放系统:Apache是最通用的网络服务器:MySQL是带有基于网络管理附加工具的关系数据库:PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效.开发者在Windows操作系统下使用这些Linux环境里的工

Mybatis分页插件

Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页. 点击提交BUG 版本说明 最新版本为3.7.5 PageInfo中的judgePageBoudary方法修改: isLastPage = pageNum == pages && pageNum != 1; //改为 isLastPage