在使用DedecmsCMS时,如果需要将提示信息改为弹窗并让页面停留在当前页面,可以按照以下步骤操作。这种方法能够提升用户体验,并确保用户在提交表单后不会被强制跳转到其他页面。


第一步:找到并打开 /include/common.func.php 文件,在大概299行找到如下代码:


function GetCkVdValue()
{
    @session_id($_COOKIE['PHPSESSID']);
    @session_start();
    return isset($_SESSION['securimage_code_value']) ? $_SESSION['securimage_code_value'] : '';
}
    

在这段PHP方法后面添加一个新的PHP方法,代码如下:


/**
*_alert_back() 弹窗
*@access public 表示函数对外公开
*@return float 表示返回出来一个浮点数字
*/
function _alert_back($_info,$_url){
    echo "<script type='text/javascript'>alert('$_info');window.location.href='$_url';</script>";
}
    

第二步:找到并打开 /plus/diy.php 文件,在大概第98行的位置找到如下代码:


$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';
    

将其修改为如下代码:


$goto= !empty($cfg_cmspath) ? $cfg_cmspath : $_SERVER["HTTP_REFERER"];
    

然后再找到如下代码:


showmsg($bkmsg, $goto);
    

替换为:


_alert_back($bkmsg,$goto);
    

修改完成后保存即可。效果如下图所示:

dedecmsCMS自定义表单提交后的提示信息改弹窗提示并停留在当前页方法

这种方法不仅可以让用户获得更好的体验,还可以确保页面逻辑的一致性。通过简单的代码修改,即可实现提示信息的弹窗显示,并且页面会停留在当前页面,避免不必要的跳转。