2011-12-12 29 views
2

我想在子控制器(通過{%render「嵌入到視圖中的控制器中設置一個Flash消息... ... Bundle:Subscribe:widget 「%}),但是我的主模板中沒有輸出Flash信息。任何想法如何解決這個問題?Symfony2:如何顯示在子控制器中生成的Flash消息

+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

該flash消息是用於「下一個」加載。如果您希望在嵌入式控制器調用的當前頁面上進行調用,則應該通過其他方式傳遞消息,例如通過會話變量或爲此創建內部消息傳遞系統。

相關問題