Frage

Ich bin neu in Symfony 2. Ich habe gerade das grundlegende FOSuserbundle eingerichtet.Aber ich habe ein paar Probleme:

  1. Ich habe die neue Layoutvorlage eingerichtet, konnte jedoch nicht feststellen, wo die Formularvorlage für Anmeldung, Registrierung, Profil geändert werden kann

  2. Ich konnte das Benutzerprofil nicht bearbeiten.Ich kann das Profil mit / profile anzeigen, aber dort konnte ich keinen Bearbeitungslink finden

War es hilfreich?

Lösung

Antworten auf Ihre Fragen finden Sie in der Dokumentation .Hier sind einige Punkte:

  1. Kopieren Sie Vorlagen, die Sie ändern möchten, von FOSUserBundle/Resources/views in Ihr Bundle und nehmen Sie die gewünschten Änderungen vor.
  2. Wenn Sie ein benutzerdefiniertes Profilformular erstellen müssen (wie ich aufgrund Ihrer Frage vermute), müssen Sie einen Profilformulartyp erstellen und angeben, dass FOSUserBundle es verwendet.

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

Andere Tipps

@Anton hat die richtige Antwort für den ersten Teil Ihrer Frage. Um jedoch den zweiten Teil zu beantworten, können Sie das Profil bearbeiten, indem Sie in Ihrem Browser zu /profile wechseln.

Das Standardprofilformular enthält keinen Bearbeitungslink.Wenn Sie eine möchten, müssen Sie den Rat von @Anton befolgen, die Standardformularvorlage (n) kopieren und in ein Verzeichnis mit demselben Namen in Ihrem Bundle einfügen.

Wie @Anton bereits ausgeführt hat, finden Sie alle Details dazu entweder im Masterdokumentation oder Dokumentation für Version 1.2.0 (die Sie benötigen, wenn Sie Symfony 2.0 verwenden. *

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top