Скрытие полей в форме sfDoctrineGuard - PullRequest
0 голосов
/ 15 октября 2010

Я пытаюсь удалить некоторые поля из формы, сгенерированной sfDoctrineGuard.Меня не волнует имя или адрес электронной почты моих пользователей, я просто хочу, чтобы у них было имя пользователя и пароль.

alt text

Я пытался редактировать / lib / form/doctrine/sfDoctrineGuardPlugin/sfGuardUserForm.class.php:

class sfGuardUserForm extends PluginsfGuardUserForm
{
  public function configure()
  {
    unset(
      $this['first_name'],
      $this['last_name'],
      $this['email_adress']
    );


  }
}

Но это ничего не дало.Правильно ли я редактирую файл?

РЕДАКТИРОВАТЬ Единственный способ заставить эти поля исчезнуть, это редактировать файл в каталоге / plugins /!

plugins / sfDoctrineGuardPlugin / lib / form / doctrine / sfGuardUserAdminForm.class.php

Ответы [ 2 ]

2 голосов
/ 15 октября 2010

Вероятно, он использует sfGuardUserAdminForm, а не sfGuardUserForm - проверьте вкладку вида на панели отладки, и она должна сообщить вам.

Этот класс находится в плагине, поэтому вы должны создать его подкласс в папке lib / form вашего проекта и скопировать существующий метод configure в подкласс.

Затем вы можете сказать ей использовать эту форму, отредактировав gnerator.yml - снова скопируйте ее в папку модулей вашего проекта / приложения из плагина, если вы этого еще не сделали. Вам нужно изменить генератор / param / config / form / class. Вам также нужно удалить поля из формы / клавиши отображения, если они там есть, или будет выдано сообщение о том, что они не существуют.

0 голосов
/ 15 октября 2010

Эти поля сконфигурированы в файле generator.yml.Но удаление там не будет работать, как вы ожидали.Вам необходимо вручную удалить эти поля из schema.yml, классов форм и моделей.

...