Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> добавление своих полей в fosuserbundle, symfony 3
dimonise  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 408
Пользователь №: 18713
На форуме: 7 лет, 3 месяца, 23 дня
Карма: 0

Трезвый :
6 лет, 6 месяцев, 30 дней


всем привет!
в Symfony только начал разбираться.
народ такой вопрос - подключил ФОС, стандартная регистрация не подходит, нужно добавлять свои поля. гугление ни к чему не привело (разве что только к истерике).
что было сделано - в папку src/AppBundle/Controller был перенесен контроллер Registrftion из ФОС с куском кода :

namespace AppBundle\Controller;

use FOS\UserBundle\Controller\RegistrationController as BaseController;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use FOS\UserBundle\Event\GetResponseUserEvent;
use FOS\UserBundle\Event\FilterUserResponseEvent;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RedirectResponse;


/**
* Controller managing the registration
*
*
@author Thibault Duplessis <thibault.duplessis@gmail.com>
* @author Christophe Coevoet <stof@notk.org>
*/
class RegistrationController extends BaseController
{
public function getParent()
{
return 'fos_user_registration';
}

public function registerAction(Request $request)
{
/** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
$formFactory = $this->get('fos_user.registration.form.factory');
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->get('fos_user.user_manager');
/** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
$dispatcher = $this->get('event_dispatcher');

$user = $userManager->createUser();
$user->setEnabled(true);

$event = new GetResponseUserEvent($user, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);

if (null !== $event->getResponse()) {
return $event->getResponse();
}

$form = $formFactory->createForm();
$form->setData($user);

$form->handleRequest($request);

if ($form->isValid()) {
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

$userManager->updateUser($user);

if (null === $response = $event->getResponse()) {
$url = $this->generateUrl('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}

$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));

return $response;
}

return $this->render('FOSUserBundle:Registration:register.html.twig', array(
'form' => $form->createView(),
));

}

}



что сюда нужно дописать чтобы появились мои поля, ума не приложу. в твиге если дописываю вывод своих полей - вываливает ошибку.

да, еще есть файл Entity/User в котором мои поля прописаны с геттерами и сеттерами, в базе табличка тоже с моими полями.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Там особо гуглить не нужно. В Getting Started все расписано.
Нужно от него унаследоваться и тогда в своем entity-классе объявляй столько полей сколько нужно.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dimonise  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 408
Пользователь №: 18713
На форуме: 7 лет, 3 месяца, 23 дня
Карма: 0

Трезвый :
6 лет, 6 месяцев, 30 дней


в теории я это понимаю - живого примера не хватает
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Блин ну не знаю, поищи на гитхабе живой пример что-ли.

Цитата
да, еще есть файл Entity/User в котором мои поля прописаны с геттерами и сеттерами, в базе табличка тоже с моими полями.

Вот это хорошо. Ты на правильном пути. Дальше нужно переопределить форму регистрации. https://symfony.com/doc/master/bundles/FOSU...ding_forms.html
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dimonise  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 408
Пользователь №: 18713
На форуме: 7 лет, 3 месяца, 23 дня
Карма: 0

Трезвый :
6 лет, 6 месяцев, 30 дней


да, блин уже перечитал этот раздел вдоль и поперек и наискось - не догоняю....
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса