Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Symfony2.6+FosUserBundle+Bootstrap

Estas en el tema de Symfony2.6+FosUserBundle+Bootstrap en el foro de Symfony en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/05/2015, 04:54
 
Fecha de Ingreso: mayo-2015
Mensajes: 4
Antigüedad: 9 años, 7 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.
  #2 (permalink)  
Antiguo 08/05/2015, 07:41
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Symfony2.6+FosUserBundle+Bootstrap

1) el core del bundle no se toca (cuando lo actualicen que va a pasar con tus cambios??) en teoría lo que deberías de hacer es sobreescribirlo y debería de funcionarte

https://github.com/FriendsOfSymfony/...iding_forms.md

en la clase form tu puedes manejar todos los atributos por campos o pudieras ir un poco más alla sobreescribiendo el register_content del symfony, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 08/05/2015, 07:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Symfony2.6+FosUserBundle+Bootstrap

No estas enviando el token en el formulario, puedes agregar {{form_rest(form)}} antes de la etiquete </form> y te lo va a agregar de forma automatica
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 08/05/2015, 08:13
 
Fecha de Ingreso: mayo-2015
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Symfony2.6+FosUserBundle+Bootstrap

Cita:
No estas enviando el token en el formulario, puedes agregar {{form_rest(form)}} antes de la etiqueta </form> y te lo va a agregar de forma automatica
Perfecto, muchas gracias.

Lo cierto es que había intentado aplicar ese código, pero al principio del archivo, y no me funcionaba.

Saludos.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:20.