Symfony2: Как сохранить нового пользователя в интерфейсе администратора с помощью FOSUserBundle?
Я создаю представление администратора, в котором я могу перечислять пользователей и создавать пользователей.
Я создал класс User
, но я не уверен, как я могу его сохранить.
Нужно ли мне вручную создавать форму, а затем сохранять ее?
Я сохранил с помощью обычного сохранения, но затем выполняется проверка.
Я хочу знать, нужно ли мне вручную кодировать пароль и т.д. или FOSUserBundle
сделает это за меня.
2
1 answers
Я предполагаю, что вы не планируете использовать...
- значение по умолчанию
/register
маршрут / метод для новых пользователей - команда консоли :
app/console fos:user:create testuser [email protected] p@ssword
... поскольку вы говорите о административном (веб-) интерфейсе.
Ответ:
В классе ContainerAware
(т.Е. контроллеры)...
... вы можете повторно использовать регистрационную форму по умолчанию и отключить проверку:
$user = new User();
$this->createForm(
$this->get('fos_user.registration.form.type'),
$user,
array(
'validation_groups' => false,
)
);
Вот как вручную создайте новый User
и сохраните его в базе данных:
$om = $this->container->get('doctrine.orm.entity_manager');
$manager = $this->container->get('fos_user.user_manager');
$user = $manager->createUser();
$user
->setUsername('nifr')
->setEmail('[email protected]')
->setPlainPassword('Insecure123')
->setEnabled(true)
;
$om->persist($user);
$om->flush();
3
Author: nifr, 2014-02-26 05:08:36