在使用Dedecms进行网站开发时,美化提示信息框是一个非常实用的功能。通过修改核心文件,可以显著提升用户体验。以下是具体的操作步骤和代码示例:

首先,打开/include/common.func.php 文件,找到大约在278行的函数 ShowMsg

原始代码如下:


function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=0)
{
    // 中间代码省略...
}
    

接下来,将整个函数替换为以下代码:


function ShowMsg($msg, $gourl, $onlymsg=0, $limittime=0)
{
    if(empty($GLOBALS['cfg_plus_dir'])) $GLOBALS['cfg_plus_dir'] = '..';
    $htmlhead  = "<html>/r/n<head>/r/n<title>提示信息</title>/r/n<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />/r/n<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">/r/n<meta name="renderer" content="webkit">/r/n<meta http-equiv="Cache-Control" content="no-siteapp" />";
    $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";
    $htmlfoot  = "</script>/r/n</center>/r/n</body>/r/n</html>/r/n";
    $litime = ($limittime==0 ? 1000 : $limittime);
    $func = '';
    if($gourl=='-1')
    {
        if($limittime==0) $litime = 5000;
        $gourl = "javascript:history.go(-1);";
    }
    if($gourl=='' || $onlymsg==1)
    {
        $msg = "<script>alert(\\"".str_replace("\\"","",$msg)."\\");</script>";
    }
    else
    {
        if(preg_match('/close::/',$gourl))
        {
            $tgobj = trim(preg_replace('/close::', '', $gourl));
            $gourl = 'javascript:;';
            $func .= "window.parent.document.getElementById('{$tgobj}').style.display='none';/r/n";
        }
        $func .= "      var pgo=0;
      function JumpUrl(){
        if(pgo==0){ location='{$gourl}'; pgo=1; }
      }/r/n";
        $rmsg = $func;
$rmsg .= "document.write(\\"\\");/r/n;";
        $rmsg .= "document.write(\\"
"; $rmsg .= "

提示信息

\\");/r/n"; $rmsg .= "document.write(\\"
\\");/r/n"; $rmsg .= "document.write(\\"".str_replace("\\"","",$msg)."\\");/r/n"; $rmsg .= "document.write(\\""; if($onlymsg==0) { if( $gourl != 'javascript:;' && $gourl != '') { $rmsg .= "点击跳转"; $rmsg .= "
\\");/r/n"; $rmsg .= "setTimeout('JumpUrl()',$litime);"; } else { $rmsg .= "
\\");/r/n"; } } else { $rmsg .= "

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