记录 onethink 模板找不到的问题
来源:互联网 发布:stc15w204s数据手册 编辑:程序博客网 时间:2024/05/18 00:16
用onethink 做开发,在本地环境下都是OK 的,然后部署到线上的时候,访问有些路径的时候出现模板不存在的问题。
一开始以为是thinkphp 中 url 大小写的问题。但是,改了 debug.php 和 config.php 两个配置文件都没有起作用。
然后,根据错误的提示,到框架的代码里面找错误的原因,thinkphp/view.class.php 文件跟踪到 dispatch.class.php 文件,
在底层解析模板文件的时候 有这样一个 变量 ACTION_NAME
最后找到这个函数,发现在返回的时候,把模板名转成小写了。然后把转换小写的代码删除了。
/**
* 获得实际的操作名称
* @access private
* @return string
*/
static private function getAction($var) {
$action = !empty($_POST[$var]) ?
$_POST[$var] :
(!empty($_GET[$var])?$_GET[$var]:C('DEFAULT_ACTION'));
unset($_POST[$var],$_GET[$var]);
if($maps = C('URL_ACTION_MAP')) {
if(isset($maps[strtolower(CONTROLLER_NAME)])) {
$maps = $maps[strtolower(CONTROLLER_NAME)];
if(isset($maps[strtolower($action)])) {
// 记录当前别名
define('ACTION_ALIAS',strtolower($action));
// 获取实际的操作名
if(is_array($maps[ACTION_ALIAS])){
parse_str($maps[ACTION_ALIAS][1],$vars);
$_GET = array_merge($_GET,$vars);
return $maps[ACTION_ALIAS][0];
}else{
return $maps[ACTION_ALIAS];
}
}elseif(array_search(strtolower($action),$maps)){
// 禁止访问原始操作
return '';
}
}
}
//return strip_tags(strtolower($action));
return strip_tags(($action));
}
- 记录 onethink 模板找不到的问题
- onethink 新建模板的使用 注意事项
- onethink开发中遇到的问题
- VS2010找不到模板信息的问题
- visual studio找不到模板的问题
- onethink后台内容模板编辑器
- 解决Onethink上传视频的问题 超棒的解决方案
- 完美解决在SAE平台安装OneThink的问题
- Onethink上传服务器后登录不了的问题
- onethink安装一直停留在step2的问题
- Onethink上传服务器后登录不了的问题
- 关于FormView在编辑模板下找不到控件的问题
- 关于onethink后台登录时(onethink前台有时也有)的验证码显示不出来的问题
- onethink的hook机制
- 一个Spring启动时找不到类的问题修复记录
- onethink后台新建文档模板在前台调用他的数据
- velocity找不到模板资源,中文问题
- OneThink创建新的菜单
- C++前置声明
- Spring JTA multiple resource transactions in Tomcat with Atomikos example
- Android新手关于unfortunaly,xxx has stoped!的解决问题
- LR(逻辑回归)
- 日拱一卒(十五)
- 记录 onethink 模板找不到的问题
- MEAN全堆栈javascript开发框架
- 算法训练 删除数组零元素
- C++编程学习的优秀网站52个
- Swift几种简单的Web数据通讯方式
- makefile源文件收集
- *POJ 3177 Redundant Paths**
- c++基础小知识归纳总结
- 非阻塞connect编写方法介绍