Cakephp - Show flash messages at different positions in the view page

Scrappy Cocco picture Scrappy Cocco · Feb 8, 2013 · Viewed 15.7k times · Source

I have a view file which have two forms in it at different positions say,

one form is at the left corner and the other at the right corner.

once the form is submitted successfully , a success message is flashed using

$this->Session->setFlash();

Problem is if Form1 is triggered i want to show the message flash under Form1 ie on the left corner.

Or if Form2 is triggered i want to show the message flash under Form2 ie on the right corner.

But right now both the messages are displayed at the top because i have put in layout

<?php echo $this->Session->flash(); ?>

I want to change this but not know how to achieve this.... :'(

Answer

Lawrence Barsanti picture Lawrence Barsanti · Feb 8, 2013

When you call setFlash, you can provide a key value. For example,

$this->Session->setFlash('This message is for form 1.', 'default', array(), 'form1');

Then you can print the flash above each form. It will only show up if the specified key has a value.

<?php echo $this->Session->flash('form1') ?>

You can find more information here.