2016-08-05 3 views
0

Я новичок в Silex. Я использую сценарий this.Используйте 2 формы (пользователь/админ) с формой формы в Silex

Я добавил новое поле «статус» в таблице комментариев, чтобы проверить комментарий администратора.

В сценарии this у нас есть тип формы для комментариев.

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

Я не могу использовать чек ROLE_ADMIN:

if ($app['security.authorization_checker']->isGranted('ROLE_ADMIN')) 

Как вы предлагаете, чтобы просто показать различную форму в зависимости от роли пользователя?

ответ

0

у вас есть некоторые варианты.

  1. вы можете передать контейнер в своем виде. $ app - это DI-контейнер, поэтому вы можете получить доступ к нему, когда вы передаете его в своих классах.

  2. Создайте второй тип, который расширяет ваш тип формы или только делает этот флажок. в вашем контроллере вы должны получить доступ к $ app, а затем сделать выбор.

+0

Спасибо за ответ. Я проверю. Я знаю, что я могу добавить более formtype, но я не хочу иметь 50 форм для всех конкретных форм, которые я могу добавить в будущем. Возможно, первый вариант более оптимизирован. –

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