A simple message displaying in YII is below line
Yii::app()->user->setFlash('ERROR','Mail Sending Error Please contact Administrator');
(Or)
Yii::app()->user->setFlash('ERROR','Mail Sending Error Please contact Administrator');
(Or)
In order to nicely display flash Messages, create view like this called views/site/dialog.php :
<?php if($flashes = Yii::app()->user->getFlashes()) { foreach($flashes as $key => $message) { if($key != 'counters') { $this->beginWidget('zii. widgets.jui.CJuiDialog', array( 'id'=>$key, 'options'=>array( 'show' => 'blind', 'hide' => 'explode', 'modal' => 'true', 'title' => $message['title'], 'autoOpen'=>true, ), )); printf('<span class="dialog">%s</span>', $message['content']); $this->endWidget('zii.widgets. jui.CJuiDialog'); } } } ?>
add this line before your <?php echo $content; ?> of your layout file (most probably views/layouts/main.php) :
<?php $this->renderPartial('//site/dialog'); ?>
after that, a very nice jquery ui dialog will display your flash messages.
In addition to this, i suggest a wrapper function like this called protected/models/Dialog.php:
<?php class Dialog { public static function Message($title, $message, $id = 0) { if($id == 0) $id = rand(1, 999999); Yii::app()->user->setflash($id, array('title' => $title, 'content' => $message) ); } } ?>
This way you can toggle your Dialogues, even with HTML content and different Buttons inside as easy as this:
$message = 'Hello World!'; $message .= '<br /><strong>Where do you want to go today?</strong><br />'; $message .= CHtml::Button('Home', array('submit' => array('home/admin'))); $message .= '<br />'; $message .= CHtml::Button('Far far away', array('submit' => array('far/away'))); Dialog::message('Title', $message);
or just
Dialog::message('title', 'content');
I hope this Code snippet will be useful for you. Please send any advices, suggestions or errors to thyseus@gmail.com, thank you.
No comments:
Post a Comment