How is that more awesome than what you do out of the box?

On 4 Sep 2013, at 16:14, Prashant Shah <[email protected]> wrote:

> Hi,
> 
> This is first time I am working with cakephp and I was not satisfied with the 
> flash message system in cakephp.
> 
> Here is how to setup your own awesome flash system (MIT License) :
> 
> - Multiple messages for each type
> - Separate divs for each type
> - Each message shown as <li>
> 
> Create a file : app/View/Helper/FlashExtHelper.php
> 
> <?php
> // MIT License
> App::uses('AppHelper', 'View/Helper');
> App::uses('CakeSession', 'Model/Datasource');
> 
> class FlashExtHelper extends AppHelper {
> 
>     public function flashExt() {
>         $out = false;
> 
>         if (CakeSession::check('FlashExt')) {
>             $messages = (array)CakeSession::read('FlashExt');
>             foreach($messages as $key => $type) {
>                 $out .= '<div id="flash" class="' . $key . '\">';
>                 $out .= '<ul>';
>                 foreach ($type as $key => $message) {
>                     $out .= '<li>' . $message . '</li>';
>                 }
>                 $out .= '</ul>';
>                 $out .= '</div>';
>             }
>             CakeSession::delete('FlashExt');
>         }
> 
>         return $out;
>     }
> }
> ?>
> 
> Add the following in app/Controller/AppController.php :
> 
> class AppController extends Controller {
>     public $helpers = array('FlashExt');
> 
>     // MIT License
>     function setFlashExt($message, $type) {
>         $messages = (array)$this->Session->read('FlashExt');
>         $messages[$type][] = $message;
>         $this->Session->write('FlashExt', $messages);
>     }
> }
> 
> Use it in your views :
> 
> <?php echo $this->FlashExt->flashExt(); ?>
> 
> Use it in your controllers :
> 
> $this->setFlashExt('message', 'notice');
> $this->setFlashExt('message', 'success');
> $this->setFlashExt('message', 'error');
> 
> 
> -- 
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>  
> --- 
> You received this message because you are subscribed to the Google Groups 
> "CakePHP" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/cake-php.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to