http://www.360doc.com/content/14/0408/13/16498929_367236469.shtml
织梦DedeCMS系统,处处都在用到提示信息,但是这个提示框,前台后台一层不变,太死板了,可能有很多人都有过去修改它的想法,只是苦于不知道去哪里改。今天我就来说说这个吧,DedeCMS的所有提示信息都是用ShowMsg方法进行处理的,这个函数存放在/include/common.func.php
源代码如下:

10 |
function
ShowMsg($msg,
$gourl,
$onlymsg=0,
$limittime=0) |
12 |
if(empty($GLOBALS['cfg_plus_dir']))
$GLOBALS['cfg_plus_dir']
= '..'; |
14 |
$htmlhead
= "\r\n\r\n\r\n\r\n"; |
15 |
$htmlhead
.=
"\r\n\r\n".(isset($GLOBALS['ucsynlogin'])
?
$GLOBALS['ucsynlogin']
: '')."\r\n
\r\n; |
18 |
$litime
= ($limittime==0 ? 1000 :
$limittime); |
23 |
if($limittime==0)
$litime = 5000; |
27 |
if($gourl==''
|| $onlymsg==1) |
33 |
//当网址为:close::objname
时, 关闭父框架的id=objname元素 |
34 |
if(preg_match('/close::/',$gourl)) |
36 |
$tgobj
=
trim(preg_replace('/close::/',
'',
$gourl)); |
37 |
$gourl
= 'javascript:;'; |
38 |
$func
.=
"window.parent.document.getElementByIdx_x('{$tgobj}').style.display='none';\r\n"; |
43 |
if(pgo==0){
location='$gourl'; pgo=1; } |
46 |
$rmsg
.= "document.write(\"
";
|
47 |
$rmsg
.= "
DedeCMS 提示信息!
\");\r\n"; |
48 |
$rmsg
.= "document.write(\"
\");\r\n";
|
49 |
$rmsg
.=
"document.write(\"".str_replace("\"","“",$msg)."\");\r\n"; |
50 |
$rmsg
.= "document.write(\""; |
54 |
if(
$gourl != 'javascript:;'
&& $gourl !=
'') |
58 |
$rmsg
.=
"setTimeout('JumpUrl()',$litime);"; |
69 |
$msg
=
$htmlhead.$rmsg.$htmlfoot; |
|
可以看出ShowMsg有四个参数,第一个参数是提示的信息,第二个就参数是跳转的地址,如果设置为-1的话,就是返回上一个页面,第三个参数其它就是定义是用弹出提示框,还是显示提示信息,第四个参数就是信息提示页面显示多久再进行跳转,默认是1秒种。修改这个提示框比较简单了,直接替换对应的文字
这个提示框的CSS也是写在内部的,如果我们需要修改,可以在这里直接修改源码,甚至我们还可以为这个ShowMsg函数增加一个参数,然后根据这个参数,显示不同的效果。