β

thinkphp修改错误和成功跳转页的停留时间

与您分享电脑世界 262 阅读

发现 thinkphp 3.2.3的跳转页停留时间,默认成功1秒,错误3秒时间太短了,

找到核心文件:ThinkPHP\Library\Think\Controller.class.php

修改一下dispatchJump函数的参数waitSecond红色部分内容即可。

/**
* 默认跳转操作 支持错误导向和正确跳转
* 调用模板显示 默认为public目录下面的success页面
* 提示页面为可配置 支持模板标签
* @param string $message 提示信息
* @param Boolean $status 状态
* @param string $jumpUrl 页面跳转地址
* @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
* @access private
* @return void
*/
private function dispatchJump($message,$status=1,$jumpUrl=”,$ajax=false) {
if(true === $ajax || IS_AJAX) {// AJAX提交
$data = is_array($ajax)?$ajax:array();
$data[‘info’] = $message;
$data[‘status’] = $status;
$data[‘url’] = $jumpUrl;
$this->ajaxReturn($data);
}
if(is_int($ajax)) $this->assign(‘waitSecond’,$ajax);
if(!empty($jumpUrl)) $this->assign(‘jumpUrl’,$jumpUrl);
// 提示标题
$this->assign(‘msgTitle’,$status? L(‘_OPERATION_SUCCESS_’) : L(‘_OPERATION_FAIL_’));
//如果设置了关闭窗口,则提示完毕后自动关闭窗口
if($this->get(‘closeWin’)) $this->assign(‘jumpUrl’,’javascript:window.close();’);
$this->assign(‘status’,$status); // 状态
//保证输出不受静态缓存影响
C(‘HTML_CACHE_ON’,false);
if($status) { //发送成功信息
$this->assign(‘message’,$message);// 提示信息
// 成功操作后默认停留1秒
if(!isset($this->waitSecond)) $this->assign(‘waitSecond’,’1′);
// 默认操作成功自动返回操作前页面
if(!isset($this->jumpUrl)) $this->assign(“jumpUrl”,$_SERVER[“HTTP_REFERER”]);
$this->display(C(‘TMPL_ACTION_SUCCESS’));
}else{
$this->assign(‘error’,$message);// 提示信息
//发生错误时候默认停留3秒
if(!isset($this->waitSecond)) $this->assign(‘waitSecond’,’3′);
// 默认发生错误的话自动返回上页
if(!isset($this->jumpUrl)) $this->assign(‘jumpUrl’,”javascript:history.back(-1);”);
$this->display(C(‘TMPL_ACTION_ERROR’));
// 中止执行 避免出错后继续执行
exit ;
}
}

作者:与您分享电脑世界
NetPc.com.cn
原文地址:thinkphp修改错误和成功跳转页的停留时间, 感谢原作者分享。

发表评论