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' ]
= '..' ; |
15 |
$htmlhead
.=
"
".(isset( $GLOBALS [ 'ucsynlogin' ])
?
$GLOBALS [ 'ucsynlogin' ]
: '' ). "
; |
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';
" ; |
43 |
if (pgo==0){
location= '$gourl' ; pgo=1; } |
46 |
$rmsg
.= "document.write("
" ;
|
47 |
$rmsg
.= "
DedeCMS 提示信息!
");
"; |
48 |
$rmsg
.= "document.write("
");
"
;
|
49 |
$rmsg
.=
"document.write("" . str_replace ( """ , "“" , $msg ). "");
" ; |
50 |
$rmsg
.= "document.write("" ; |
54 |
if (
$gourl != 'javascript:;'
&& $gourl !=
'' ) |
58 |
$rmsg
.=
"setTimeout('JumpUrl()',$litime);" ; |
69 |
$msg
=
$htmlhead . $rmsg . $htmlfoot ; |
|
可以看出ShowMsg有四个参数,第一个参数是提示的信息,第二个就参数是跳转的地址,如果设置为-1的话,就是返回上一个页面,第三个参数其它就是定义是用弹出提示框,还是显示提示信息,第四个参数就是信息提示页面显示多久再进行跳转,默认是1秒种。修改这个提示框比较简单了,直接替换对应的文字
这个提示框的CSS也是写在内部的,如果我们需要修改,可以在这里直接修改源码,甚至我们还可以为这个ShowMsg函数增加一个参数,然后根据这个参数,显示不同的效果。