Pregunta

Soy nuevo en Symfony 2. Acabo de configurarlo con FOSuserbundle básico.Pero tengo algunos problemas:

  1. He configurado la nueva plantilla de diseño, pero no pude encontrar dónde cambiar la plantilla de formulario para inicio de sesión, registro, perfil

  2. No pude encontrar cómo editar el perfil de usuario.Puedo ver el perfil usando / profile pero no pude encontrar ningún enlace de edición allí

¿Fue útil?

Solución

Las respuestas a sus preguntas se encuentran en la documentación .Estos son algunos puntos:

  1. Copie las plantillas que desee modificar de FOSUserBundle/Resources/views en su paquete y realice los cambios que desee.
  2. Si necesita crear un formulario de perfil personalizado (como supongo en base a su pregunta), entonces debe crear un tipo de formulario de perfil y especificar que FOSUserBundle lo usa.

config.yml

services:
  my_user.profile.form.type:
    class: My\UserBundle\Form\Type\ProfileFormType
    arguments: [%fos_user.model.user.class%]
    tags:
        - { name: form.type, alias: my_user_profile }

fos_user:
  profile:
    form:
      type: my_user_profile

ProfileFormType.php

<?php

namespace My\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilder;
use FOS\UserBundle\Form\Type\ProfileFormType as BaseType;

class ProfileFormType extends BaseType
{

    public function getName()
    {
        return 'my_user_profile';
    }

    protected function buildUserForm(FormBuilder $builder, array $options)
    {
        $builder
        ->add('email', 'email')
        ->add('firstName')
        ->add('lastName')
        ;
    }
}

Otros consejos

@Anton tiene la respuesta correcta para la primera parte de su pregunta, pero para responder la segunda parte, si puede ver su perfil desde /profile, puede editarlo yendo a /profile/edit en su navegador.

No hay un enlace de edición en el formulario de perfil predeterminado.Si desea uno, deberá seguir el consejo de @Anton y copiar las plantillas de formulario predeterminadas y pegarlas en un directorio con el mismo nombre en su paquete.

Como ya señaló @Anton, todos los detalles sobre cómo hacer esto están en el documentación maestra o la documentación para la versión 1.2.0 (que necesitará si está utilizando Symfony 2.0. *

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top