Domanda

Sono nuovo di symfony 2. Ho appena configurato con FOSuserbundle di base.Ma ho alcuni problemi:

  1. Ho impostato il nuovo modello di layout ma non sono riuscito a trovare dove cambiare il modello di modulo per login, registrazione, profilo

  2. Non sono riuscito a trovare come modificare il profilo utente.Posso visualizzare il profilo usando / profile ma non sono riuscito a trovare alcun link di modifica lì

È stato utile?

Soluzione

Le risposte alle tue domande puoi trovare nella documentazione .Ecco alcuni punti:

  1. Copia i modelli che desideri modificare da FOSUserBundle/Resources/views nel tuo pacchetto e apporta le modifiche desiderate.
  2. Se devi creare un modulo di profilo personalizzato (come immagino in base alla tua domanda), devi creare il tipo di modulo del profilo e specificare che FOSUserBundle lo utilizza.

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')
        ;
    }
}

Altri suggerimenti

@Anton ha la risposta corretta per la prima parte della tua domanda ma per rispondere alla seconda parte, se puoi visualizzare il tuo profilo da /profile puoi modificarlo andando su /profile/edit nel tuo browser.

Non è presente alcun collegamento di modifica nel modulo del profilo predefinito.Se ne vuoi uno, devi seguire il consiglio di @Anton e copiare i modelli di modulo predefiniti e incollarli in una directory con lo stesso nome nel tuo bundle.

Come ha già sottolineato @Anton, tutti i dettagli su come farlo si trovano in documentazione principale o documentazione per la versione 1.2.0 (di cui avrai bisogno se stai usando Symfony 2.0. *

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top