SessionComponent::setFlash(), SessionHelper::flash()

SessionComponent::setFlash($message, $layout = 'default', $params = array(), $key = 'flash');[br]
SessionHelper::flash($key = 'flash');

デフォルト

  • controller内で
$this->Session->setFlash( 'Message!!' );
  • view内で
if ( $session->check( 'Message.flash ') ){
    $session->flash();
}

とすると

<div id="flashMessage" class="message">Message!!</div>
// cake/libs/view/helpers/session.php Line:133あたり
$out = '<div id="' . $key . 'Message" class="message">' . $flash['message'] . '</div>';

が挿入される。

テンプレートを指定

  • controller内で
$this->Session->setFlash( 'Message!!', 'tmpl_name' );
  • view内で
if ( $session->check( 'Message.flash ') ){
    $session->flash();
}

とすると

ROOT . APP_DIR . '/views/layouts/tmpl_name.thtml'

が読み込まれる。

  • tmpl_name.thtml
<p class="message"><?php echo $content_for_layout; ?></p>