Yii类中加三个方法如下:

class Yii extends YiiBase{

    

   /**

    * 成功提示

    * @param type $msg 提示信息

    * @param type $jumpurl 跳转url

    * @param type $wait 等待时间

    */

   static functionsuccess($msg="",$jumpurl="",$wait=3){

       self::_jump($msg, $jumpurl, $wait, 1);

    }

   /**

    * 错误提示

    * @param type $msg 提示信息

    * @param type $jumpurl 跳转url

    * @param type $wait 等待时间

    */

   static function error($msg="",$jumpurl="",$wait=3){

       self::_jump($msg, $jumpurl, $wait, 0);

    }

   /**

    * 最终跳转处理

    * @param type $msg 提示信息

    * @param type $jumpurl 跳转url

    * @param type $wait 等待时间

    * @param int $type 消息类型 01

    */

   static private function_jump($msg="",$jumpurl="",$wait=3,$type=0){

       $data = array(

           'msg' => $msg,

           'jumpurl' => $jumpurl,

           'wait' => $wait,

           'type' => $type

       );

       $data['title'] = ($type==1) ? "提示信息" : "错误信息";

       if(empty($jumpurl)){

           if($type==1){

               $data['jumpurl']=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:"javascript:window.close();";

           }else{

                $data['jumpurl'] ="javascript:history.back(-1);";

           }

       }

       $cc = new CController('showmessage');

       $cc->renderPartial("//show_message",$data);

    }

}

看最后一行

$cc->renderPartial("//show_message",$data);

这个是渲染提示信息模板,所以我们还需要一个模板文件 show_message.php,将它放到 protected/views 目录下即可,模板代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />

<title>跳转提示</title>

<style type="text/css">

*{ padding: 0; margin: 0; }

body{ background: #fff; font-family: '微软雅黑'; color:#333; font-size: 16px; }

.system-message{ width:500px;height:100px;margin:auto;border:6px solid #999;text-align:center;position:relative;top:50px;}

.system-messagelegend{font-size:24px;font-weight:bold;color:#999;margin:auto;width:100px;}

.system-message h1{ font-size: 100px;font-weight: normal; line-height: 120px; margin-bottom: 12px; }

.system-message .jump{padding-right:10px;height:25px;line-height:25px;font-size:14px;position:absolute;bottom:0px;left:0px;background-color:#e6e6e1; display:block;width:490px;text-align:right;}

.system-message .jump a{ color: #333;}

.system-message .success,.system-message.error{ line-height: 1.8em; font-size: 15px }

.system-message .detail{ font-size: 12px;line-height: 20px; margin-top: 12px; display:none}

</style>

</head>

<body>

<fieldsetclass="system-message">

   <legend><?php echo $title;?></legend>

   <divstyle="text-align:left;padding-left:10px;height:75px;width:490px;  ">

        

       <?php if($type==1):?>

       <p>恭喜^_^!~<?phpecho($msg); ?></p>

       <?php else:?>

       <p>Sorry!~<?php echo($msg);?></p>

       <?php endif;?>

       <p></p>

        

   </div>

   <p>

       页面自动 <a id="href" href="<?php echo($jumpurl);?>">跳转</a> 等待时间: <b id="wait"><?php echo($wait); ?></b>

   </p>

</fieldset>

<scripttype="text/javascript">

    

(function(){

var wait =document.getElementById('wait'),href = document.getElementById('href').href;

totaltime=parseInt(wait.innerHTML);

var interval = setInterval(function(){

   var time = --totaltime;

       wait.innerHTML=""+time;

   if(time === 0) {

       location.href = href;

       clearInterval(interval);

   };

}, 1000);

})();

</script>

</body>

</html>

使用方法:

Yii::success("提示信息内容","跳转链接","停留时间,单位秒");

Yii::error();//

参数同上

例:

<?php

class PublicController extendsCustomController {

   public function actionLogin(){

       $this->title = "商户后台登录";

       if(Yii::app()->request->isPostRequest){

           $identify = new CustomIdentity("admin","passwd");

           if($identify->authenticate() == true){

               Yii:app()->user->login($identify);

           }else{

                Yii::error("用户名或密码错误");

           }

       }else{

           $this->render('login');

       }

    }

}