Финлей, я нашел решение. Во-первых, я пытаюсь отобразить на другой странице из регистрационного контроля. и это не тотально, если я не показываю данные на этой странице. один из участников ответа FOSUserBundle по вопросу об этом рендеринге, и он сказал, и я цитирую: «Логин не обрабатывается FOSUserBundle вообще, а компонентом безопасности Symfony. Этот пакет предназначен только для предоставления управления пользователями» So Я ищу другую логику. Я создаю слушателя. и я назвал его в config.yml (имя_проект/SourcesFiles/приложение/Config/config.yml)
services:
fos_user.doctrine_registry:
alias: doctrine
sdz_user.registration_complet:
class: Acme\CovoiturageBundle\Services\RegistrationConfirmListener
arguments: [@router]
tags:
- { name: kernel.event_subscriber }
так что слушатель будет слушать абонент события из ядра фреймворки. После этого добавьте папку в пачке и добавить PHP класс с именем RegistrationConfirmListener:
class RegistrationConfirmListener implements EventSubscriberInterface {
private $router;
public function __construct(UrlGeneratorInterface $router) {
$this->router = $router;
}
/**
* {@inheritDoc}
*/
public static function getSubscribedEvents() {
return array(
FOSUserEvents::REGISTRATION_SUCCESS => 'onRegistrationSuccess'
);
}
public function onRegistrationSuccess(\FOS\UserBundle\Event\FormEvent $event) {
$url = $this->router->generate('index');
$event->setResponse(new RedirectResponse($url));
}
}
вам понадобится использование от FOSUserBundle:
use FOS\UserBundle\FOSUserEvents
use FOS\UserBundle\Event\UserEvent
use Symfony\Component\EventDispatcher\EventSubscriberInterface
use Symfony\Component\HttpFoundation\RedirectResponse
use Symfony\Component\Routing\Generator\UrlGeneratorInterface
быть осторожным, если вы не помещайте пространство имен сверху, symfony не распознает ваш класс.
namespace Acme\CovoiturageBundle\Services
Вы видите «РЕГИСТРАЦИЯ_УСТАВКА»?я беру это из registrationController от функции registraionAction:
$dispatcher->dispatch(FOSUserEvents::**REGISTRATION_COMPLETED**, new FilterUserResponseEvent($user, $request, $response));
так, теперь пытаются протестировать слушателя, если он работает или нет, выполните следующую команду:
php app/console container:debug | app_user.registration_complet
и вы получите это сообщение на пульте:
[container] Information for service sdz_user.registration_complet Service Id sdz_user.registration_complet Class Acme\CovoiturageBundle\Services\RegistrationConfirmListener Tags - kernel.event_subscriber () Scope container Public yes Synthetic no Lazy no Synchronized no Abstract no Done.
Я не принимаю решение для входа. это решение для регистрации. Я думаю, это будет та же логика.
Невозможно найти шаблон «index/index.html.twig. Я пытаюсь использовать приложение/Ressources/views/default/index.html.wing, и я получил Невозможно найти шаблон« default/index.html.twig – Hamdy
Фактически сейчас что я думаю об этом, возможно, попробуйте 'render ('index.html.twig')' вместо этого. Дайте мне знать, и я изменю свой пост. Другое дело, что вам нужен шаблон ветви в этой папке. Например, если каталог «app/Resources/views/default» не существует, вам необходимо его создать. –
Я нашел решение, и я пишу ответ здесь. – Hamdy