ドキュメントには、これらのメッセージをコントローラーに保存して表示する方法が完全に説明されています。
コントローラーで
public function updateAction(Request $request)
{
$form = $this->createForm(...);
$form->handleRequest($request);
if ($form->isValid()) {
// do some sort of processing
$this->get('session')->getFlashBag()->add(
'notice',
'Your changes were saved!'
);
return $this->redirect($this->generateUrl(...));
}
return $this->render(...);
}
Twig テンプレートで
% for flashMessage in app.session.flashbag.get('notice') %}
<div class="flash-notice">
{{ flashMessage }}
</div>
{% endfor %}
エラーなど、他のメッセージには異なるフラッシュバッグを使用できます。
コントローラーで
[...]
$this->get('session')->getFlashBag()->add(
'delete',
'The entity has been deleted!'
);
[...]
Twig テンプレートで
% for flashMessage in app.session.flashbag.get('delete') %}
<div class="flash-notice delete">
{{ flashMessage }}
</div>
{% endfor %}
CSS を使用してdelete
クラスのスタイルを設定します。