2011-12-12 13 views
2

サブコントローラ({%render "を介してビューに埋め込まれているコントローラ)にフラッシュメッセージを設定しようとしています... Bundle:Subscribe:widget "%})、フラッシュメッセージはメインテンプレートに出力されません。任意のアイデアをどのようにこれを解決するには?Symfony2:サブコントローラで生成されたフラッシュメッセージを表示するには

+0

をあなたはこれを解決しましたか?いくつかのコードを表示してください。とにかく組み込みコントローラのためにSymfonyは応答内容だけを取得します。私はそれが難しいことだと思う... – dlondero

+0

いいえ、残念ながら私は今これで解決しませんでした。 – stoefln

答えて

1

私はjavascriptを/ jQueryを介して、それをしています:

var messages = ""; 
// collect flash messages of all widgets (=subcontroller actions) 
$('.flash-message').each(function(){ 
    messages += $(this).html()+"<br/>"; 
    $(this).html(""); 
}); 
// set messages into the "flash message container" 
if(messages){ 
    $('#flash-message span').html(messages); 
} 
// show the messages 
if($('#flash-message span').html().trim()){ 
    $('#flash-message').hide().delay(20).fadeIn().delay(5000).fadeOut(); 
} 
1

フラッシュメッセージは、「次の」負荷用です。組み込みコントローラー呼び出しが行われた現在のページに表示したい場合は、セッション変数のようにメッセージを別の方法で渡すか、または内部メッセージングシステムを作成する必要があります。

関連する問題