Flash->render('somekey'); * Will default to flash if no param is passed * * You can pass additional information into the flash message generation. This allows you * to consolidate all the parameters for a given type of flash message into the view. * * ``` * echo $this->Flash->render('flash', array('params' => array('name' => $user['User']['name']))); * ``` * * This would pass the current user's name into the flash message, so you could create personalized * messages without the controller needing access to that data. * * Lastly you can choose the element that is used for rendering the flash message. Using * custom elements allows you to fully customize how flash messages are generated. * * ``` * echo $this->Flash->render('flash', array('element' => 'my_custom_element')); * ``` * * If you want to use an element from a plugin for rendering your flash message * you can use the dot notation for the plugin's element name: * * ``` * echo $this->Flash->render('flash', array( * 'element' => 'MyPlugin.my_custom_element', * )); * ``` * * @param string $key The [Message.]key you are rendering in the view. * @param array $options Additional options to use for the creation of this flash message. * Supports the 'params', and 'element' keys that are used in the helper. * @return string|null Rendered flash message or null if flash key does not exist * in session. * @throws UnexpectedValueException If value for flash settings key is not an array. */ public function render($key = 'flash', $options = array()) { if (!CakeSession::check("Message.$key")) { return null; } $flash = CakeSession::read("Message.$key"); if (!is_array($flash)) { throw new UnexpectedValueException(sprintf( 'Value for flash setting key "%s" must be an array.', $key )); } $flash = $options + $flash; CakeSession::delete("Message.$key"); $flash['key'] = $key; if ($flash['element'] === 'default') { $flash['element'] = 'Flash/default'; } return $this->_View->element($flash['element'], $flash); } }