2010-10-15 2 views
0

Я пытаюсь удалить некоторые поля из формы, сгенерированной sfDoctrineGuard. Меня не интересует имя или адрес электронной почты моих пользователей, я просто хочу, чтобы у них было имя пользователя и пароль.Скрытие полей в форме 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'] 
    ); 


    } 
} 

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

EDIT Единственный способ, по которому я могу удалить эти поля, - это отредактировать файл в каталоге/plugins /!

плагинов/sfDoctrineGuardPlugin/Библиотека/форма/учение/sfGuardUserAdminForm.class.php

ответ

2

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

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

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

-2

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

+0

Я просто хочу скрыть их в форме, они все еще могут быть в базе данных, мне все равно. – Manu

+0

У меня нет генератора.yml для редактирования, он находится в папке плагина – Manu

+2

-1, так как вы не должны редактировать схему плагина – benlumley

Смежные вопросы