Symfony: настройка модулей sfDoctrineGuardPlugin - PullRequest
3 голосов
/ 16 марта 2011

Я пытаюсь настроить формы модуля sfGuardUser. После установки sfGuardDoctrinePlugin я следовал соглашению каскадная конфигурация Symfony и создал следующую структуру:

apps/backend/modules/sfGuardUser
apps/backend/modules/sfGuardUser/config
apps/backend/modules/sfGuardUser/config/generator.yml

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

generator:
  class: sfDoctrineGenerator
  param:
    config:
      fields:
        first_name:
          label: Name
        last_name:
          label: Surname
        email_address:
          label: Email
        updated_at:
          label: Last update
          date_format: f
      list:
        title: People
        display: [=username, name, email_address, last_login]
        sort: [username, asc]
      filter:
        display: [username, first_name, last_name, email_address]
      edit:
        title: Edit "%%name%%"
      new:
        title: Add a new user
      form:
        display:
          "User":                   [first_name, last_name, email_address, username, password, password_again]
          "Permissions and groups": [is_active, is_super_admin, groups_list]

Однако форма по-прежнему отражает настройки по умолчанию. Например, он по-прежнему отображает permissions_list.

Более того, если вы попытаетесь сбросить виджеты, переопределив sfGuardUserAdminForm, вы поймете, что он тоже не работает.

Как я могу избежать этого и добиться настоящего переопределения? Я что-то упустил?

Спасибо!

ОБНОВЛЕНИЕ 1 Я нашел обходной путь, который назначает группе ложное значение, а затем устанавливает новую группу с полями, которые я хотел:

"User":  [first_name, last_name, email_address, username, password, password_again]
"Permissions and groups":  false
"Status and groups":  [is_active, is_super_admin, groups_list]

ОБНОВЛЕНИЕ 2 Это документированная ошибка , но, похоже, разработчики ядра не имеют с ней дело. Билет включал патч для тех, кто испытывает такую ​​проблему, как я.

1 Ответ

2 голосов
/ 16 марта 2011

К сожалению, соглашение о переопределении не работает так, как вы ожидаете с плагином generator.yml. Самый простой способ - настроить файл generator.yml плагина, что я и делаю.

Вы также можете переместить (не копировать) плагин generator.yml в ваше приложение / модуль. Здесь также есть одно интересное решение: http://oldforum.symfony -project.org / index.php / m / 43279 /

...