форма по умолчанию в Symfony - добавить новый ввод и изменить выбор - PullRequest
0 голосов
/ 24 июня 2011

моя схема.имл:

User:
  columns:
    id:
      type: integer(4)
      autoincrement: true
      primary: true
    username:
      type: string(255)
    password:
      type: string(255)
  attributes:
    export: all
    validate: true

Group:
  tableName: group_table
  columns:
    id:
      type: integer(4)
      autoincrement: true
      primary: true
    name:
      type: string(255)
  relations:
    Users:
      foreignAlias: Groups
      class: User
      refClass: GroupUser

GroupUser:
  columns:
    group_id:
      type: integer(4)
      primary: true
    user_id:
      type: integer(4)
      primary: true
  relations:
    Group:
      foreignAlias: GroupUsers
    User:
      foreignAlias: GroupUsers
additional:
  columns:
    id:
      type: integer(4)
      autoincrement: true
      primary: true
    new:
      type: string(255)
  attributes:
    export: all
    validate: true

я сгенерировал новый модуль:

доктрина PHP Symfony: генерировать модуль --with-show --non-verbose-templates внешний пользователь Пользователь

и у меня есть форма добавить пользователя:

http://localhost/user/new

изображение: http://img692.imageshack.us/img692/7726/znew.png

Я хотел бы добавить для этой формы ввод new из модуля добавочный и изменить флажок sfWidgetFormDoctrineChoice для нескольких. как я могу это сделать?

THX!

1 Ответ

1 голос
/ 24 июня 2011

sfWidgetFormDoctrineChoice имеет параметр с именем «расширенный», который, если он имеет значение «истина», будет отображать параметры с флажками (установите флажок в этом примере из Jobeet Symfony).

В вашем UserForm.class.php вы должны поместить что-то вроде этого (проверьте ваш BaseUserForm.class.php)

<!-- lib/form/doctrine/UserForm.class.php -->
...
public function configure(){

    $this->setWidget('groups_list', new sfWidgetFormDoctrineChoice(array(
              'multiple' => true, 
              'model' => 'Group', //check that on your base
              'expanded' => true, //set checkboxs
    )));

}
...
...