Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2015, 04:54
coredosduo
 
Fecha de Ingreso: mayo-2015
Mensajes: 4
Antigüedad: 9 años, 6 meses
Puntos: 0
Symfony2.6+FosUserBundle+Bootstrap

Hola, buenos días:

A ver si me podeis echar una mano para solucionar un problemilla que me ha surgido...

He creado una pequeña aplicación web en el entorno que define el título del post y en principio todo funciona como debería ( Symfony es un buen framework, Fos es una buena solución para el control de usuarios y tal).

El problema es que a la hora de aplicar estilos con Bootstrap a los formularios, con el de login no he tenido problemas, pero el de registro me trae de cabeza.

El formulario de login tiene su correspondiente login.html.twig, ahí mediante las clases correspondientes se soluciona el tema, pero el de registro siguiendo el ciclo del controlador me lleva al archivo register.content.html.twig que tiene el siguiente aspecto:

Código:
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
    {{ form_widget(form) }}
    <div>
        <input type="submit" value="{{ 'registration.submit'|trans({},   'FOSUserBundle') }}" />
    </div>
</form>
Entiendo que FosUserBundle construye el formularo dinamicamente mediante la clase RegistrationFormType y ahí es donde me atasco porque no se donde aplicarle los estilos.

He probado sustituyendo el contenido de register.content.html.twig por el siguiente con los estilos aplicados y se ve muy bien pero a la hora de registrar el usuario me da un error "El token CSRF no es válido. Por favor, pruebe a enviar nuevamente el formulario."

Código:
<div class="container">
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="form-horizontal fos_user_registration_register" role="form">
    {{ form_errors(form) }}
    <div class="form-group{% if form.email.vars.errors[0].message is defined %} has-error{% endif %}">
        {{ form_label (form.email, null, {'label_attr': {'class': 'col-md-3 control-label'}}) }}
        <div class="col-md-6">
            {{ form_widget(form.email, {'attr': {'class': 'form-control', 'placeholder': 'form.email'|trans}}) }}
            {% if form.email.vars.errors[0].message is defined %}
            <span class="help-block">
                {{ form.email.vars.errors[0].message }}
            </span>
            {% endif %}
        </div>
    </div>
    <div class="form-group{% if form.username.vars.errors[0].message is defined %} has-error{% endif %}">
        {{ form_label(form.username, null, {'label_attr': {'class': 'col-md-3 control-label'}}) }}
        <div class="col-md-6">
            {{ form_widget(form.username, {'attr': {'class': 'form-control', 'placeholder': 'form.username'|trans}}) }}
            {% if form.username.vars.errors[0].message is defined %}
            <span class="help-block">
                {{ form.username.vars.errors[0].message }}
            </span>
            {% endif %}
        </div>
    </div>
    <div class="form-group{% if form.plainPassword.first.vars.errors[0].message is defined %} has-error{% endif %}">
        {{ form_label(form.plainPassword.first, null, {'label_attr': {'class': 'col-md-3 control-label'}}) }}
        <div class="col-md-6">
            {{ form_widget(form.plainPassword.first, {'attr': {'class': 'form-control', 'placeholder': 'form.password'|trans}}) }}
            {% if form.plainPassword.first.vars.errors[0].message is defined %}
            <span class="help-block">
                {{ form.plainPassword.first.vars.errors[0].message }}
            </span>
            {% endif %}
        </div>
    </div>
    <div class="form-group{% if form.plainPassword.second.vars.errors[0].message is defined %} has-error{% endif %}">
        {{ form_label(form.plainPassword.second, null, {'label_attr': {'class': 'col-md-3 control-label'}}) }}
        <div class="col-md-6">
            {{ form_widget(form.plainPassword.second, {'attr': {'class': 'form-control', 'placeholder': 'form.password_confirmation'|trans}}) }}
            {% if form.plainPassword.second.vars.errors[0].message is defined %}
            <span class="help-block">
                {{ form.plainPassword.second.vars.errors[0].message }}
            </span>
            {% endif %}
        </div>
    </div>
    <div class="form-group">
	    <div class="col-md-6 col-md-offset-3">
	        <button class="btn btn-primary" type="submit">{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}</button>
	    </div>
	</div>
</form>
</div>
Perdonar si me extendido demasiado pero creo que para comprender el problema no queda otra.

Saludos.