织梦DedeCMS提示信息框的修改,修改ShowMsg方法函数

阅读更多

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

  1. /**
  2.  *  短消息函数,可以在某个动作处理后友好的提示信息
  3.  *
  4.  * @param     string  $msg      消息提示信息
  5.  * @param     string  $gourl    跳转地址
  6.  * @param     int     $onlymsg  仅显示信息
  7.  * @param     int     $limittime  限制时间
  8.  * @return    void
  9.  */
  10. function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=0)
  11.  
  12. {
  13.     if(empty($GLOBALS['cfg_plus_dir'])) $GLOBALS['cfg_plus_dir'] = '..';
  14.     $htmlhead  = "\r\n\r\nDedeCMS提示信息\r\n\r\n";
  15.     $htmlhead .= "\r\n\r\n".(isset($GLOBALS['ucsynlogin']) ? $GLOBALS['ucsynlogin'] :'')."\r\n
    \r\n\r\n
    \r\n\r\n\r\n";
  16.     $litime = ($limittime==0 ? 1000 : $limittime);
  17.     $func = '';
  18.  
  19.     if($gourl=='-1')
  20.     {
  21.         if($limittime==0) $litime = 5000;
  22.         $gourl = "javascript:history.go(-1);";
  23.     }
  24.     if($gourl=='' || $onlymsg==1)
  25.     {
  26.         $msg = "";
  27.     }
  28.     else
  29.     {
  30.         //当网址为:close::objname 时, 关闭父框架的id=objname元素
  31.         if(preg_match('/close::/',$gourl))
  32.         {
  33.             $tgobj = trim(preg_replace('/close::/', '', $gourl));
  34.             $gourl = 'javascript:;';
  35.             $func .="window.parent.document.getElementById('{$tgobj}').style.display='none';\r\n";
  36.         }
  37.         $func .= "      var pgo=0;
  38.       function JumpUrl(){
  39.         if(pgo==0){ location='$gourl'; pgo=1; }
  40.       }\r\n";
  41.         $rmsg = $func;
  42.         $rmsg .= "document.write(\"
    ";
  43.         $rmsg .= "
    DedeCMS 提示信息!
    \");\r\n";
  44.         $rmsg .= "document.write(\"

    \");\r\n";
  45.         $rmsg .= "document.write(\"".str_replace("\"","“",$msg)."\");\r\n";
  46.         $rmsg .= "document.write(\"";
  47.         
  48.         if($onlymsg==0)
  49.         {
  50.             if( $gourl != 'javascript:;' && $gourl != '')
  51.             {
  52.                 $rmsg .= "
    如果你的浏览器没反应,请点击这里...";
  53.                 $rmsg .= "
\");\r\n";
  •                 $rmsg .= "setTimeout('JumpUrl()',$litime);";
  •             }
  •             else
  •             {
  •                 $rmsg .= "
  • \");\r\n";
  •             }
  •         }
  •         else
  •         {
  •             $rmsg .= "

  • \");\r\n";
  •         }
  •         $msg  = $htmlhead.$rmsg.$htmlfoot;
  •     }
  •     echo $msg;
  • }
  •  

    可以看出ShowMsg有四个参数,第一个参数是提示的信息,第二个就参数是跳转的地址,如果设置为-1的话,就是返回上一个页面,第三个参数其它就是定义是用alert()弹出提示框,还是显示提示信息,第四个参数就是信息提示页面显示多久再进行跳转,默认是1秒种。修改这个提示框比较简单了,直接替换对应的文字

    这个提示框的CSS也是写在内部的,如果我们需要修改,可以在这里直接修改源码,甚至我们还可以为这个ShowMsg函数增加一个参数,然后根据这个参数,显示不同的效果。

    你可能感兴趣的:(microsoft,javascript)