La cuestión, es que me falta un último detalle, y es que las etiquetas y mensajes sean traducidas al castellano.
He definido mi propio bundle 'UserBundle', en el que he sobre escrito las plantillas, aplicándoles estilos personalizados.
Por ejemplo, la plantilla del login, queda así:
src/UserBundle/Resources/views/Security/login.html.twig
Código:
src/UserBundle/Resources/views/Security/login_content.html.twig{% extends "::base.html.twig" %} {% block title %} {{ parent() }}Login {% endblock %} {% block body %} <!-- Page --> <div class="row"> <div class="col-md-4"> {% block fos_user_content %} {% include "UserBundle:Security:login_content.html.twig" %} {% endblock fos_user_content %} </div> </div> <!-- /.row --> {% endblock %}
Código:
Cómo podéis ver, he mantenido la misma estructura por defecto, solo he añadido etiquetas para aplicar Bootstrap. Sin embargo, me aparecen los mensajes en inglés como 'repeat password' , 'register' y 'Logged in as...'. {% trans_default_domain 'FOSUserBundle' %} {% if error %} <div class="alert alert-danger" role="alert"> {{ error.messageKey|trans(error.messageData, 'security') }} </div> {% endif %} <form action="{{ path("fos_user_security_check") }}" method="post"> <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" /> <div class="control-group form-group"> <div class="controls"> <label for="username">{{ 'security.login.username'|trans }}</label> <input class="form-control" type="text" id="username" name="_username" value="{{ last_username }}" required="required" placeholder="Usuario/Email" /> </div> </div> <div class="control-group form-group"> <div class="controls"> <label for="password">{{ 'security.login.password'|trans }}</label> <input class="form-control" type="password" id="password" name="_password" required="required" placeholder="Contraseña" /> </div> </div> <div class="control-group form-group"> <div class="controls"> <input type="checkbox" id="remember_me" name="_remember_me" value="on" /> <label for="remember_me">{{ 'security.login.remember_me'|trans }}</label> </div> </div> <div class="control-group form-group"> <div class="controls"> <input class="btn btn-success" type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" /> </div> </div> </form>