【轉載】tp自定義提示信息頁面

原文連接

[TP筆記]ThinkPHP自定義錯誤頁面、成功頁面及異常頁面

 

看了前面分享的一篇《什麼是真正的程序員?》,以爲本身離這個目標還差的很遠,因此要抓緊朝着這個方向前進。做爲一名PHP小碼農,掌握一種框架是必須的。因此今天開始咱們就從國產PHP框架 ThinkPHP 開始學起~javascript

爲何會選擇 ThinkPHP 呢?首先,做爲一款國產PHP框架,文檔確定比國外那些框架要豐富的多,並且容易看懂;其次,ThinkPHP已經發展了七八年的時間了,相對來講已經比較成熟了;固然,最重要的是它比較輕量級,相對其餘的框架來講比較容易上手,因此就選擇了ThinkPHP。php

 

好了話很少說,下面分享第一篇筆記~css

ThinkPHP 做爲一款輕量級PHP開發框架,它爲咱們提供了自帶的錯誤頁面、異常頁面等信息提示頁面,好比下面的代碼會出現這樣的提示:html

  1. $this->error('驗證碼錯誤!');

ThinkPHPError頁面

咱們能夠看到,自帶的頁面並不美觀,因此咱們須要自定義這些頁面,ThinkPHP 爲咱們提供了自定義提示頁面這樣一種功能。java

在配置文件中添加以下配置信息:程序員

  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 便可。thinkphp

下面是一個簡單的錯誤頁面模板:框架

  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 頁面中,而後再看最開始的錯誤提示頁面就會變成下面這樣:ui

tp_error_2

相關文章
相關標籤/搜索