織夢DedeCMS提示信息框的修改,修改ShowMsg方法函數

織夢DedeCMS系統,處處都在用到提示信息,但是這個提示框,前臺後臺一層不變,太死板了,可能有很多人都有過去修改它的想法,只是苦於不知道去哪裏改。今天我就來說說這個吧,DedeCMS的所有提示信息都是用ShowMsg方法進行處理的,這個函數存放在/include/common.func.php  源代碼如下:

01	/**
02	 *  短消息函數,可以在某個動作處理後友好的提示信息
03	 *
04	 * @param     string  $msg      消息提示信息
05	 * @param     string  $gourl    跳轉地址
06	 * @param     int     $onlymsg  僅顯示信息
07	 * @param     int     $limittime  限制時間
08	 * @return    void
09	 */
10	function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=0)
11	{
12	    if(empty($GLOBALS['cfg_plus_dir'])) $GLOBALS['cfg_plus_dir'] = '..';
13	 
14	    $htmlhead  = "<html>\r\n<head>\r\n<title>DedeCMS提示信息</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />\r\n";
15	    $htmlhead .= "<base target='_self'/>\r\n<style>div{line-height:160%;}</style></head>\r\n<body leftmargin='0' topmargin='0' bgcolor='#FFFFFF'>".(isset($GLOBALS['ucsynlogin']) ? $GLOBALS['ucsynlogin'] : '')."\r\n<center>\r\n<script>\r\n";
16	    $htmlfoot  = "</script>\r\n</center>\r\n</body>\r\n</html>\r\n";
17	 
18	    $litime = ($limittime==0 ? 1000 : $limittime);
19	    $func = '';
20	 
21	    if($gourl=='-1')
22	    {
23	        if($limittime==0) $litime = 5000;
24	        $gourl = "javascript:history.go(-1);";
25	    }
26	 
27	    if($gourl=='' || $onlymsg==1)
28	    {
29	        $msg = "<script>alert(\"".str_replace("\"","“",$msg)."\");</script>";
30	    }
31	    else
32	    {
33	        //當網址爲:close::objname 時, 關閉父框架的id=objname元素
34	        if(preg_match('/close::/',$gourl))
35	        {
36	            $tgobj = trim(preg_replace('/close::/', '', $gourl));
37	            $gourl = 'javascript:;';
38	            $func .= "window.parent.document.getElementById('{$tgobj}').style.display='none';\r\n";
39	        }
40	         
41	        $func .= "      var pgo=0;
42	      function JumpUrl(){
43	        if(pgo==0){ location='$gourl'; pgo=1; }
44	      }\r\n";
45	        $rmsg = $func;
46	        $rmsg .= "document.write(\"<br /><div style='width:450px;padding:0px;border:1px solid #DADADA;'>";
47	        $rmsg .= "<div style='padding:6px;font-size:12px;border-bottom:1px solid #DADADA;background:#DBEEBD url({$GLOBALS['cfg_plus_dir']}/img/wbg.gif)';'><b>DedeCMS 提示信息!</b></div>\");\r\n";
48	        $rmsg .= "document.write(\"<div style='height:130px;font-size:10pt;background:#ffffff'><br />\");\r\n";
49	        $rmsg .= "document.write(\"".str_replace("\"","“",$msg)."\");\r\n";
50	        $rmsg .= "document.write(\"";
51	         
52	        if($onlymsg==0)
53	        {
54	            if( $gourl != 'javascript:;' && $gourl != '')
55	            {
56	                $rmsg .= "<br /><a href='{$gourl}'>如果你的瀏覽器沒反應,請點擊這裏...</a>";
57	                $rmsg .= "<br/></div>\");\r\n";
58	                $rmsg .= "setTimeout('JumpUrl()',$litime);";
59	            }
60	            else
61	            {
62	                $rmsg .= "<br/></div>\");\r\n";
63	            }
64	        }
65	        else
66	        {
67	            $rmsg .= "<br/><br/></div>\");\r\n";
68	        }
69	        $msg  = $htmlhead.$rmsg.$htmlfoot;
70	    }
71	    echo $msg;
72	}
可以看出ShowMsg有四個參數,第一個參數是提示的信息,第二個就參數是跳轉的地址,如果設置爲-1的話,就是返回上一個頁面,第三個參數其它就是定義是用alert()彈出提示框,還是顯示提示信息,第四個參數就是信息提示頁面顯示多久再進行跳轉,默認是1秒種。修改這個提示框比較簡單了,直接替換對應的文字

這個提示框的CSS也是寫在內部的,如果我們需要修改,可以在這裏直接修改源碼,甚至我們還可以爲這個ShowMsg函數增加一個參數,然後根據這個參數,顯示不同的效果。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章