Pergunta

Sou novo no symfony 2. Acabei de configurar o FOSuserbundle básico.Mas tenho alguns problemas:

  1. Eu configurei o novo modelo de layout, mas não consegui encontrar onde alterar o modelo de formulário para login, registro, perfil

  2. Não consegui descobrir como editar o perfil do usuário.Posso ver o perfil usando / profile, mas não consegui encontrar nenhum link de edição lá

Foi útil?

Solução

As respostas às suas perguntas podem ser encontradas na documentação .Aqui estão alguns pontos:

  1. Copie os modelos que deseja modificar de FOSUserBundle/Resources/views para o seu pacote e faça as alterações desejadas.
  2. Se você precisa fazer um formulário de perfil personalizado (como eu acho com base na sua pergunta), você deve criar o tipo de formulário de perfil e especificar que FOSUserBundle o 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')
        ;
    }
}

Outras dicas

@Anton tem a resposta correta para a primeira parte da sua pergunta, mas para responder à segunda parte, se você pode ver seu perfil em /profile, você pode editar indo para /profile/edit em seu navegador.

Não há link de edição no formulário de perfil padrão.Se você quiser um, precisará seguir o conselho de @Anton e copiar o (s) modelo (s) de formulário padrão e colá-los em um diretório com o mesmo nome em seu pacote.

Como @Anton já apontou, todos os detalhes sobre como fazer isso estão em documentação principal ou a documentação para a versão 1.2.0 (que você precisará se estiver usando Symfony 2.0. *

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top