CakePHPでTwigViewを使っている時に、setFlashで設定したメッセージの表示だけがされない、という問題がおきました。
もちろん、TwigViewを使わずに通常の.ctpのテンプレートを使っている場合には問題なく表示されます。
これ、以前書いたこのエントリーの話と同じ問題でした。
CakePHPでTwigView使う時FormやHtmlヘルパーが使えない - モーグルとカバとパウダーの日記
TwigViewを使っていると、暗黙で使えるようになっていたものが、ちゃんと宣言しないと使えないことが起こります。
なので、各コントローラーで
public $helpers = array('Session', 'Html', 'Form');
と「Sessionヘルパー」を呼んでやることで解決しました。
もしくはTwigView使う時はもう、AppController内に設定してしまったほうが良いかもしれません。
例えばTwitterBootstrapプラグインでは、AppController内に
class AppController extends Controller { public $helpers = array( 'Session', 'Html' => array('className' => 'TwitterBootstrap.BootstrapHtml'), 'Form' => array('className' => 'TwitterBootstrap.BootstrapForm'), 'Paginator' => array('className' => 'TwitterBootstrap.BootstrapPaginator'), );
のように設定することを薦めていますし。