3.2.1模块映射(模块是老版本的分组)在U函数失败

浏览:743 发布日期:2014/03/12 分类:求助交流
config.php里:
'MODULE_ALLOW_LIST' => array('Home','test','User'),
'MULTI_MODULE' => true,
'DEFAULT_MODULE' => 'Home',
'URL_MODULE_MAP' => array('test'=>'Admin'),

可实际上U(frame/footer)得出的结果依然是
/index.php/Admin/frame/footer.html

查看U函数源码825行:
if($_module = array_search(strtolower($var[$varModule]),$maps)){

在这里,$var[$varModule]值是'Admin',
$map的值是array('test'=>'Admin')
[b][/b]把$var[$varModule]变成'admin',
因此在$map中查找不到'Admin',失败。

于是返回去看官网手册,果然要求
'URL_MODULE_MAP' => array('test'=>'admin'), //这里都是小写。歧义在这里。

建议去掉strtolower()。

thinkPHP的大小写问题真是复杂。
最佳答案
评论( 相关
后面还有条评论,点击查看>>