【转载】tp自定义提示信息页面

原文链接

[TP笔记]ThinkPHP自定义错误页面、成功页面及异常页面

 

看了前面分享的一篇《什么是真正的程序员?》,觉得自己离这个目标还差的很远,所以要抓紧朝着这个方向前进。作为一名PHP小码农,掌握一种框架是必须的。所以今天开始我们就从国产PHP框架 ThinkPHP 开始学起~

为什么会选择 ThinkPHP 呢?首先,作为一款国产PHP框架,文档肯定比国外那些框架要丰富的多,而且容易看懂;其次,ThinkPHP已经发展了七八年的时间了,相对来说已经比较成熟了;当然,最重要的是它比较轻量级,相对其他的框架来说比较容易上手,所以就选择了ThinkPHP。

 

好了话不多说,下面分享第一篇笔记~

ThinkPHP 作为一款轻量级PHP开发框架,它为我们提供了自带的错误页面、异常页面等信息提示页面,比如下面的代码会出现这样的提示:

  1. $this->error('验证码错误!');

ThinkPHPError页面

我们可以看到,自带的页面并不美观,所以我们需要自定义这些页面,ThinkPHP 为我们提供了自定义提示页面这样一种功能。

在配置文件中添加如下配置信息:

  1. /* 错误页面模板 */
  2. 'TMPL_ACTION_ERROR' => MODULE_PATH.'View/Public/error.html', // 默认错误跳转对应的模板文件
  3. 'TMPL_ACTION_SUCCESS' => MODULE_PATH.'View/Public/success.html', // 默认成功跳转对应的模板文件
  4. 'TMPL_EXCEPTION_FILE' => MODULE_PATH.'View/Public/exception.html',// 异常页面的模板文件

把这段配置信息放入到当前模型的 /Conf/config.php 中,然后在当前模型的 View 目录下创建 Public 文件夹,并在里面自定义 error.html success.html 及 exception.html 即可。

下面是一个简单的错误页面模板:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>跳转提示</title>
  6. <style type="text/css">
  7. *{ padding: 0; margin: 0; }
  8. body{ background: #290C0C; font-family: '微软雅黑'; color: #fff; font-size: 16px; }
  9. .system-message{ padding: 24px 48px; }
  10. .system-message h1{ font-size: 80px; font-weight: normal; line-height: 120px; margin-bottom: 12px }
  11. .system-message .jump{ padding-top: 10px;margin-bottom:20px}
  12. .system-message .jump a{ color: #333;}
  13. .system-message .success,.system-message .error{ line-height: 1.8em; font-size: 36px }
  14. .system-message .detail{ font-size: 12px; line-height: 20px; margin-top: 12px; display:none}
  15. #wait {
  16. font-size:46px;
  17. }
  18. #btn-stop,#href{
  19. display: inline-block;
  20. margin-right: 10px;
  21. font-size: 16px;
  22. line-height: 18px;
  23. text-align: center;
  24. vertical-align: middle;
  25. cursor: pointer;
  26. border: 0 none;
  27. background-color: #8B0000;
  28. padding: 10px 20px;
  29. color: #fff;
  30. font-weight: bold;
  31. border-color: transparent;
  32. text-decoration:none;
  33. }
  34.  
  35. #btn-stop:hover,#href:hover{
  36. background-color: #ff0000;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="system-message">
  42. <h1>抱歉,出错啦!</h1>
  43. <p class="error"><?php echo($error); ?></p>
  44. <p class="detail"></p>
  45. <p class="jump">
  46. <b id="wait"><?php echo($waitSecond); ?></b> 秒后页面将自动跳转
  47. </p>
  48. <div>
  49. <a id="href" id="btn-now" href="<?php echo($jumpUrl); ?>">立即跳转</a>
  50. <button id="btn-stop" type="button" onclick="stop()">停止跳转</button>
  51. <a id="href" id="btn-now" href="<?php echo(U('Public/logout')); ?>">重新登录</a>
  52. </div>
  53. </div>
  54. <script type="text/javascript">
  55. (function(){
  56. var wait = document.getElementById('wait'),href = document.getElementById('href').href;
  57. var interval = setInterval(function(){
  58. var time = --wait.innerHTML;
  59. if(time <= 0) {
  60. location.href = href;
  61. clearInterval(interval);
  62. };
  63. }, 1000);
  64. window.stop = function (){
  65. console.log(111);
  66. clearInterval(interval);
  67. }
  68. })();
  69. </script>
  70. </body>
  71. </html>

我们把上面的代码放到自定义 error.html 页面中,然后再看最开始的错误提示页面就会变成下面这样:

tp_error_2

posted @ 2017-07-22 11:33  皇家玄学团  阅读(359)  评论(0编辑  收藏  举报