FosUserbundle und Symfony 2 Vorlage und Änderungen
-
27-10-2019 - |
Frage
Ich bin neu in Symfony 2. Ich habe gerade das grundlegende FOSuserbundle eingerichtet.Aber ich habe ein paar Probleme:
-
Ich habe die neue Layoutvorlage eingerichtet, konnte jedoch nicht feststellen, wo die Formularvorlage für Anmeldung, Registrierung, Profil geändert werden kann
-
Ich konnte das Benutzerprofil nicht bearbeiten.Ich kann das Profil mit / profile anzeigen, aber dort konnte ich keinen Bearbeitungslink finden
Lösung
Antworten auf Ihre Fragen finden Sie in der Dokumentation .Hier sind einige Punkte:
- Kopieren Sie Vorlagen, die Sie ändern möchten, von
FOSUserBundle/Resources/views
in Ihr Bundle und nehmen Sie die gewünschten Änderungen vor. - 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. *