最近公司官网改版,需要把旧的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