dede5.7-修改自定义表单返回成功页面

Date:  2018/2/8   Sort:  建站知识 3892 Views / 

最近刚好帮客户做一个网站,需要用到dede的自定义表单功能。可是有个这样的需求,就是当表单提交成功后,要返回一个自定义页面的提示功能!可能是觉得dede自带的提示太low的原因吧!(一不小心又黑了下)

好啦,废话不多说。我们一起来看看,怎么去修改系统自带的提示窗口呢!

我们先来看下dede提交成功后弹出窗,如下图:

我们预期的效果提交成功后的弹出窗,如下图:

3.jpg


第一步:找到系统文件

首先我们打开网站目录下/plus/diy.php文件,需要修改的地方大约在100行左右。如下图:

9.jpg



第二步:修改系统文件

   如果对此段稍有研究的朋友,不难发现,这是一个条件的判断。不管判断的条件输出什么,都会调用下面那个showmsg方法。(而这个方法正是弹出系统提示窗的),因此我们只需注释掉此方法即可。

   那么又有人会问啦:“你都注释了这个方法。那还怎么输出我们想要的页面呢?”

   大人稍安勿躁,容小的把解决方案,一 一道来:

   聪明的朋友可能已经发现,我在 $bkmsg = '发布成功,请等待管理员处理...'; 下面,添加了三段代码。而这三段代码正是系统没有的,不然已发现是做什么用的啦!

   不错,这三段代码正是修改系统提示窗的代码。如下图:

5.jpg


   原理如下:

   我们先通过禁止调用系统弹窗的方法,当表单提交成功后,却不会出现提示框,可能还会报错什么的。我们只要在提示发布成功后,输出我们自己的想要的内容即可。

   

   代码如下:

1
 
 $rsg .= '自定义内容';
  
 //需注意:外层是‘单引号’,里面直接把代码写一行即可,双引号则不需要转义。
2
$rsg.='<script>setTimeout(function(){window.location.href="/lala/order/"},3000)</script>';
3
echo $rsg;

   具体代码不做过多解释,简单说明下。

   1、第一段,把写好的html代码,用变量保存起来。(弹出窗代码)

   2、第二段,输入javascript代码,来控制页面的跳转问题。

   3、PHP的语法,输出什么,这里指把整块事先定义好的内容输出到页面。即(弹出窗代码+js)

   注意:如果要自己修改提交成功,返回的页面路径。可以直接写

1
 $rsg .='window.location.href="跳转地址";';


第三步:大功告成,完美显示!

   修改完成后,直接保存下。不出意外,就会出现如下图的情况。那么恭喜你,已经成功啦!


4.gif

更多