Para esto Symfony tiene "Flash bag" (antes "Flash message"), y Bootstrap tiene alerts, lo implementaremos en 2 pasos
1.- Agregar el flashbag a los controladores createAction, updateAction y deleteAction siempre después de:
$em->flush();
createAction:
$this->get('session')->getFlashBag()->set(
'success',
array(
'title' => 'Nuevo!',
'message' => 'Cliente creado con éxito.'
)
);
updateAction
$this->get('session')->getFlashBag()->set(
'success',
array(
'title' => 'Editado!',
'message' => 'Cliente actualizado satisfactoriamente.'
)
);
deleteAction
$this->get('session')->getFlashBag()->set(
'success',
array(
'title' => 'Eliminado!',
'message' => 'Cliente removido.'
)
);
2.- Agregar en el layout al comienzo del body:
{% block body -%}
{# aquí va el siguiente código #}
Si hay flash entonces lo itera y muestra:
nano src/Petramas/MainBundle/Resources/views/layout.html.twig
{% for type, flashMessage in app.session.flashbag.all() %}
<div class="alert alert-{{ type }} fade in">
<button class="close" data-dismiss="alert" type="button">×</button>
{% if flashMessage.title is defined %}
<strong>{{ flashMessage.title }}</strong>
{{ flashMessage.message }}
{% else %}
{{ type }}
{% endif %}
</div>
{% endfor %}
No hay comentarios.:
Publicar un comentario
Puedes comentar como te gustaría que comenten de ti.