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.