- 简单修改:只修改提示文字 (推荐,风险低)
- 深度修改:自定义提示样式和内容 (灵活,但需要一定代码基础)
简单修改提示文字(推荐)
这种方法最简单,只需要修改一个模板文件,不会影响核心程序,升级时也不会被覆盖。
修改步骤:
-
找到你的表单模板文件 你的表单页面通常是一个独立的HTML文件,存放在
/templets/你的模板目录/文件夹下,文件名可能是jiadian.html(家电预约),liuyan.html(留言),tougao.html(投稿) 等。 用FTP或文件管理器找到这个文件。 -
定位提示信息的位置 在你的HTML文件中,找到显示提交成功或失败提示的代码,通常它会被一个
{dede:php}标签包裹,或者直接是一段PHP代码,常见的代码结构如下:<!-- 在表单提交后,这里会显示PHP处理的结果 --> {dede:php} if(isset($cfg_soft_lang) && $cfg_soft_lang=='utf-8') { $dopost = 'utf8'; } require_once(DEDEINC."/membermodel.cls.php"); $dsql = new DedeSql(false); $addvar = array(); $addvar['typename'] = '留言反馈'; // 可以修改这里的分类名称 $addvar['title'] = '用户留言'; // 可以修改这里的标题 $addvar['email'] = ''; $addvar['tel'] = ''; $addvar['qq'] = ''; $addvar['shijian'] = time(); $addvar['ip'] = GetIP(); $addvar['dtime'] = time(); $addvar['typeid'] = 1; // 指定栏目ID $addvar['ischeck'] = 1; // 1为审核,0为不审核 $addvar['mid'] = $cfg_ml->M_ID; $addvar->username = $cfg_ml->M_UserName; $addvalue = ''; foreach($addvar as $k=>$v) { $addvalue .= ($addvalue=='' ? '' : ',').$k.'=\''.$v.'\''; } $addvalue .= ',body=\''.$_POST['text'].'\''; $rs = $dsql->SetQuery("INSERT INTO `#@__member_flink` (`mid`,`userid`,`title`,`url`,`email`,`shijian`,`typeid`,`ischeck`) VALUES (0,'{$cfg_ml->M_UserName}','用户留言','','','".time()."',1,1)"); $rs = $dsql->ExecuteNoneQuery($rs); if($rs) { // ********** 重点在这里 ********** // 成功提示,你可以修改这里的文字 ShowMsg('提交成功!感谢您的留言!', 'javascript:;', 0, 2000); } else { // ********** 重点在这里 ********** // 失败提示,你也可以修改这里的文字 ShowMsg('提交失败,请检查信息是否填写完整!', '-1', 0, 2000); } {/dede:php} -
修改提示文字 在上面的代码中,找到
ShowMsg()函数,这个函数就是用来显示提示信息的。-
第一个参数:就是你要显示的提示文字。
- 成功提示:将
'提交成功!感谢您的留言!'修改成你想要的文字,'恭喜您,预约信息已成功提交,我们会尽快与您联系!'。 - 失败提示:将
'提交失败,请检查信息是否填写完整!'修改成你想要的文字,'很抱歉,提交失败,请稍后重试或联系管理员。'。
- 成功提示:将
-
第二个参数:是提示后跳转的页面。
'javascript:;'表示不跳转,停留在当前页面。'-1'表示返回上一页。- 你也可以改成具体的网址,如
'/index.html'。
-
第三个参数:是否关闭窗口,一般用
0即可。 -
第四个参数:是提示信息自动消失的时间,单位是毫秒。
2000就是2秒。
-
对于绝大多数用户,直接在表单模板文件里找到 ShowMsg('提示文字', ...) 这一行,修改里面的单引号里的内容就足够了。
深度修改(自定义提示样式和内容)
如果你想把提示信息做得更美观,比如改成弹出层、模态框,或者想在提示信息里包含更多信息(比如用户刚提交的内容),就需要修改核心函数 ShowMsg()。
修改步骤:
-
找到核心函数文件
ShowMsg()函数位于织梦的核心目录下,路径是:/include/common.func.php -
备份原文件 在进行任何修改之前,务必备份
/include/common.func.php文件!这是非常重要的,防止修改错误导致网站无法正常运行。 -
定位并修改
ShowMsg函数 用代码编辑器打开/include/common.func.php文件,搜索function ShowMsg,找到这个函数的定义。你会看到类似下面的代码(版本不同可能略有差异):
// 通用提示信息函数 function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=10000) { if($onlymsg==0) { $htmlhead = "<html>\r\n<head>\r\n<title>提示信息</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$cfg_soft_lang."\" />\r\n"; $htmlhead .= "<base target='_self' />\r\n"; $htmlhead .= "<style>body,td{font-family:'Microsoft YaHei', Arial, sans-serif;font-size:12px;}div{line-height:1.8em;}a{color:#0066cc;text-decoration:underline;}</style>\r\n"; $htmlhead .= "</head>\r\n<body leftmargin='0' topmargin='0'>\r\n<center>\r\n<div style='width:450px;padding:10px 6px;border:1px solid #A8C0E1;margin-top:10%;'>"; $htmlhead .= "<div style='border-bottom:1px solid #A8C0E1;padding:6px;font-size:14px;font-weight:bold;'>{$msg}</div>\r\n"; if($gourl=='-1') { $gourl = "javascript:history.go(-1);"; } if($gourl=='') { $gourl = "javascript:close();"; } if($limittime==0) { $litime = "<div style='padding:10px'><a href='{$gourl}'>如果您的浏览器没有自动跳转,请点击这里</a></div>"; } else { $litime = "<div style='padding:10px'>系统将在 <span id='sec' style='font-weight:bold'>".$limittime/1000."</span> 秒后自动跳转,请稍候...<br /><br /><a href='{$gourl}'>如果您的浏览器没有自动跳转,请点击这里</a></div>"; } $htmlfoot = "</div>\r\n"; $htmlfoot .= "<script language=\"javascript\">\r\n"; $htmlfoot .= "function JumpUrl(url)\r\n{\r\nlocation.href=url;\r\n}\r\n"; if($limittime>0) { $htmlfoot .= "function SetSecond(sec){\r\nif(sec==0){JumpUrl('$gourl');return;}\r\ndocument.getElementByIdx_x('sec').innerHTML=sec;\r\nsetTimeout('SetSecond(sec-1)',1000);\r\n}\r\n"; $htmlfoot .= "SetSecond($limittime/1000);\r\n"; } $htmlfoot .= "</script>\r\n"; $htmlfoot .= "</center></body>\r\n</html>"; $msg = $htmlhead.$litime.$htmlfoot; echo $msg; } else { echo "<script language=\"javascript\">alert(\"".$msg."\");</script>"; } exit(); } -
自定义你的提示HTML 你可以完全重写这个函数的
$htmlhead、$litime和$htmlfoot部分,来实现你想要的任何样式。示例:修改成一个简单的蓝色提示框
// 通用提示信息函数 (修改版) function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=2000) { if($onlymsg==0) { // 1. 定义新的HTML头部样式 $htmlhead = "<html>\r\n<head>\r\n<title>提示信息</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$cfg_soft_lang."\" />\r\n"; $htmlhead .= "<base target='_self' />\r\n"; // 这里是新的CSS样式,你可以自由修改 $htmlhead .= "<style>body{font-family:'Microsoft YaHei', Arial, sans-serif;background:#f5f5f5;}.msg-box{width:400px;margin:100px auto;padding:20px;border-radius:5px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,0.1);}.msg-title{font-size:16px;font-weight:bold;color:#fff;background:#007bff;padding:10px;text-align:center;border-radius:3px 3px 0 0;}.msg-content{padding:15px 0;}.msg-footer{text-align:center;}</style>\r\n"; $htmlhead .= "</head>\r\n<body>\r\n<center>\r\n<div class='msg-box'>\r\n<div class='msg-title'>系统提示</div>\r\n<div class='msg-content'>{$msg}</div>\r\n<div class='msg-footer'>"; // 2. 处理跳转逻辑 if($gourl=='-1') $gourl = "javascript:history.go(-1);"; if($gourl=='') $gourl = "javascript:close();"; // 3. 定义提示底部信息 $litime = "<a href='{$gourl}'>点击此处跳转</a> | <span id='sec' style='color:#999;'>".($limittime/1000)."</span>秒后自动跳转"; $htmlfoot = "</div>\r\n</div>\r\n"; $htmlfoot .= "<script language=\"javascript\">\r\n"; $htmlfoot .= "function JumpUrl(url){ location.href=url; }\r\n"; if($limittime>0) { $htmlfoot .= "function SetSecond(sec){ if(sec==0){JumpUrl('$gourl');return;} document.getElementById('sec').innerHTML=sec; setTimeout('SetSecond(sec-1)',1000); }\r\n"; $htmlfoot .= "SetSecond(".($limittime/1000).");\r\n"; } $htmlfoot .= "</script>\r\n"; $htmlfoot .= "</center></body>\r\n</html>"; // 4. 组合并输出最终HTML $msg = $htmlhead.$litime.$htmlfoot; echo $msg; } else { // 这是弹出框模式,$onlymsg=1时使用 echo "<script language=\"javascript\">alert(\"".$msg."\");</script>"; } exit(); }
重要提示:
- 修改核心函数后,网站里所有使用
ShowMsg()的地方(包括后台)都会变成你新的样式,如果你只想修改前台表单,请确保你在表单模板里调用的是自定义的函数(MyShowMsg()),而不是默认的ShowMsg()。 - 升级织梦时,
/include/common.func.php文件通常会被覆盖,你需要重新做一次修改。
总结与建议
| 修改方式 | 优点 | 缺点 | 适用人群 |
|---|---|---|---|
| 修改模板文件 | 简单、安全、不影响核心、升级无忧 | 只能修改文字,无法改变样式 | 绝大多数用户,新手首选 |
| 修改核心函数 | 功能强大、可完全自定义样式和逻辑 | 有风险(改错网站崩溃)、升级会被覆盖、影响全局 | 有一定PHP和HTML基础,希望深度定制网站样式的开发者 |
给新手的建议: 从 场景一 开始,先在模板文件里修改提示文字,这通常能满足80%的需求,如果对样式不满意,再考虑 场景二,但一定要记得先备份文件!
