tp5 修改自带success或error跳转模板页面

Easter79
• 阅读 773

tp5 修改自带success或error跳转模板页面

我们在使用tp5或者tp3.2的时候,用的成功或者失败跳转提示页面一般是用框架的。在后续开发过程中,根据实际项目需要,也是可以更改的,在此分享一个自用的模板。

首先是看一下tp框架自带的跳转模板页面,以tp5为例

在config.php中,我们可以看到,success或error都是用的同一个页面,

tp5 修改自带success或error跳转模板页面

在默认的情况下,生成的效果图就是大家经常看到的那个"笑脸"或"哭脸"

失败:tp5 修改自带success或error跳转模板页面 ,成功:tp5 修改自带success或error跳转模板页面

修改之后的效果图,是这样的

失败:tp5 修改自带success或error跳转模板页面 ,成功:tp5 修改自带success或error跳转模板页面

下面的是修改之后的dispatch_jump.tpl的源代码:

 1 {__NOLAYOUT__}<!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 name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6     <title>跳转提示</title>
 7     <?php if(isMobile()==true){?>
 8     <style type="text/css">
 9     body, h1, h2, p,dl,dd,dt{margin: 0;padding: 0;font: 15px/1.5 微软雅黑,tahoma,arial;}
10     body{background:#efefef;}
11     h1, h2, h3, h4, h5, h6 {font-size: 100%;cursor:default;}
12     ul, ol {list-style: none outside none;}
13     a {text-decoration: none;color:#447BC4}
14     a:hover {text-decoration: underline;}
15     .ip-attack{width:100%; margin:200px auto 0;}
16     .ip-attack dl{ background:#fff; padding:30px; border-radius:10px;border: 1px solid #CDCDCD;-webkit-box-shadow: 0 0 8px #CDCDCD;-moz-box-shadow: 0 0 8px #cdcdcd;box-shadow: 0 0 8px #CDCDCD;}
17         .ip-attack dt{text-align:center;}
18         .ip-attack dd{font-size:16px; color:#333; text-align:center;}
19         .tips{text-align:center; font-size:14px; line-height:50px; color:#999;}
20     </style>
21     <?php }else{ ?>
22     <style type="text/css">
23         body, h1, h2, p,dl,dd,dt{margin: 0;padding: 0;font: 15px/1.5 微软雅黑,tahoma,arial;}
24         body{background:#efefef;}
25         h1, h2, h3, h4, h5, h6 {font-size: 100%;cursor:default;}
26         ul, ol {list-style: none outside none;}
27         a {text-decoration: none;color:#447BC4}
28         a:hover {text-decoration: underline;}
29         .ip-attack{width:600px; margin:200px auto 0;}
30         .ip-attack dl{ background:#fff; padding:30px; border-radius:10px;border: 1px solid #CDCDCD;-webkit-box-shadow: 0 0 8px #CDCDCD;-moz-box-shadow: 0 0 8px #cdcdcd;box-shadow: 0 0 8px #CDCDCD;}
31         .ip-attack dt{text-align:center;}
32         .ip-attack dd{font-size:16px; color:#333; text-align:center;}
33         .tips{text-align:center; font-size:14px; line-height:50px; color:#999;}
34     </style>
35     <?php }?>
36 
37 </head>
38 <body>
39 <div class="ip-attack"><dl>
40         <if condition="$code eq 1" >
41             <dt style="color: green"><?php echo(strip_tags($msg));?></dt>
42             <else/>
43             <dt style="color: red"><?php echo(strip_tags($msg));?></dt>
44         </if>
45 
46         <br>
47         <dt>
48             页面自动 <a id="href" href="<?php echo($url);?>">跳转</a> 等待时间: <b id="wait"><?php echo($wait);?></b>
49         </dt></dl>
50 </div>
51 <script type="text/javascript">
52     (function(){
53         var wait = document.getElementById('wait'),
54             href = document.getElementById('href').href;
55         var interval = setInterval(function(){
56             var time = --wait.innerHTML;
57             if(time <= 0) {
58                 location.href = href;
59                 clearInterval(interval);
60             };
61         }, 1000);
62     })();
63 </script>
64 </body>
65 </html>

而且,对于移动端,也做了适配,下面是判断是否是移动端的js方法

 1 /**
 2  * 功能:是否是移动端
 3  *
 4  * User: cyf
 5  * Time: 2018/7/3 0003 11:01
 6  * @return bool
 7  */
 8 function isMobile()
 9 {
10     if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
11     {
12         return true;
13     }
14     if (isset ($_SERVER['HTTP_VIA']))
15     {
16         return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
17     }
18     if (isset ($_SERVER['HTTP_USER_AGENT']))
19     {
20         $clientkeywords = array ('nokia',
21             'sony',
22             'ericsson',
23             'mot',
24             'samsung',
25             'htc',
26             'sgh',
27             'lg',
28             'sharp',
29             'sie-',
30             'philips',
31             'panasonic',
32             'alcatel',
33             'lenovo',
34             'iphone',
35             'ipod',
36             'blackberry',
37             'meizu',
38             'android',
39             'netfront',
40             'symbian',
41             'ucweb',
42             'windowsce',
43             'palm',
44             'operamini',
45             'operamobi',
46             'openwave',
47             'nexusone',
48             'cldc',
49             'midp',
50             'wap',
51             'mobile'
52         );
53         if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
54         {
55             return true;
56         }
57     }
58     if (isset ($_SERVER['HTTP_ACCEPT']))
59     {
60         if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))
61         {
62             return true;
63         }
64     }
65     return false;
66 }
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
springMVC实现登陆
页面打开跳转到登陆页面登陆成功跳转到成功页面登陆失败再次返回登录页面,并增加提示信息1、首页跳转到登陆页面  Tomcat服务器启动时默认加载WEBINF下的index.jsp,可以通过修改xml配置的方式来改变Tomcat这一默认行为。这里使用springMVC来实现这个功能。  第一种实现
Wesley13 Wesley13
3年前
APP自动化测试,判断页面与预期是否相同
自动化测试中,有时需要验证页面跳转是否正常1、选择appium实现,因为要填写appPcakage和appActivity,只能验证一个单独的APP,在自身APP上各个页面是否跳转正常例如:焦点从APP中的【智能音箱】TAB移动到【历史】TAB后,可以通过try去判断“历史”页面是否存在应有的元素,若抛出异常说明跳转没有成功!(https:/
Easter79 Easter79
3年前
Taro小程序自定义顶部导航栏
微信自带的顶部导航栏是无法支持自定义icon和增加元素的,在开发小程序的时候自带的根本满足不了需求,分享一个封装好的组件,支持自定义icon、扩展dom,适配安卓、ios、h5,全面屏。我用的是京东的Taro多端编译框架写的小程序,原生的也可以适用,用到的微信/taro的api做调整就行,实现效果如下。!在这里插入图片描述(https://i
Wesley13 Wesley13
3年前
thinkphp3.2.3模板渲染支持三元表达式
thinkphp3.2.3模板渲染支持三元表达式{$status?'正常':'错误'}{$info'status'?$info'msg':$info'error'}注意:三元运算符中暂时不支持点语法。如下:           <divclass"modalhidefade"id'myModa
Stella981 Stella981
3年前
Django之Django模板
1、问:html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2012082616:00:00,但是页面显示的却是Aug.26,2012,4p.m.答:为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td{{dayrecord.p\_time|date:
Stella981 Stella981
3年前
Spring Security使用详解6(自定义登录页、接口、结果)
在之前的所有样例中,登录表单一直都是使用SpringSecurity提供的默认登录页,登录成功后也是默认的页面跳转。有时我们想要使用自定义的登录页,或者在前后端分离的开发方式中,前后端的数据交互通过JSON进行,这时登录成功后就不是页面跳转了,而是一段JSON提示。下面通过样例演示如何进行登录表单的个性化配置。六、自定义登录页面、
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k