редактировать профиль из внешнего интерфейса - symfony - PullRequest
0 голосов
/ 09 ноября 2009

Мне удалось создать форму регистрации, и теперь пользователи могут регистрировать мой сайт. Но я не могу создать форму, где пользователи могут редактировать свой профиль.

В моем файле schema.yml

есть sf_guard_user и sf_guard_user_profile

У кого-нибудь есть статья о том, как это сделать? Я попробовал несколько идей без успеха.

1 Ответ

2 голосов
/ 09 ноября 2009

Быстрый способ начать - создать CRUD-интерфейс с задачей

. / Доктрина Symfony: порождай, т. Е.

./symfony doctrine:generate-crud frontend user sfGuardUser

(или вы можете просто сгенерировать форму профиля с помощью задачи doctrine: build-forms)

Отсюда вы можете настроить форму. Самая сложная часть будет объединение двух форм, sf_gurd_user_form (с паролем и именем пользователя) и sf_guard_profile_form. Если вы хотите, чтобы поля профиля и пользовательских полей в одной и той же форме, вы должны использовать встроенные формы, как указано здесь:

http://www.blogs.uni -osnabrueck.de / rotapken / 2009/03/13 / Symfony-слияние встраиваемый-формы / комментарий-страница-1 /

Фрагмент страницы этого блога:

class sfGuardUserForm extends BasesfGuardUserForm
{
  public function configure()
  {
    parent::configure();
    $profileForm = new UserProfileForm($this->object->Profile);
    unset ($profileForm['id'], $profileForm['sf_guard_user_id']);
    $this->embedForm("profile", $profileForm);
  }
}
...