@tsifra

Как сделать рендринг контроллера в шаблоне twig?

Сегодня обновился до версии symfony 2.4 и уперся в проблему миграции кода. Раньше вот это работало без проблем. Сейчас indexdata отдельно возвращает нужные результаты, но отрендрить его из шаблона другого контроллера не получается
render(controller('BackendWorkorderBundle:Default:indexdata'))

Ошибка на выходе
LogicException: Rendering a fragment can only be done when handling a Request.


Подскажите как пердать в indexdata request или другие пути решения проблемы.
  • Вопрос задан
  • 3287 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Нужен контекст. Откуда запускается код, из консольной команды? Приведите пример метода который вы вызываете.... Вообще ошибка эта может быть только от того что нету объекта Request
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tsifra Автор вопроса
Да, все верно. Разобрался. Вызов был из twig-шаблона
{{ render(controller('BackendWorkorderBundle:Default:indexdata')) }} indexdata - это action контроллера. Пробелма была в следующем.
Я пытался получить $session в action'е следующим способом, который отлично прокатывал в 2.3.7
$request = $this->get('request');
$session = $request->getSession();

В 2.4 код был адаптирован вот так. И все снова заработало.
$session = $this->get("session");

Большое спасибо за участие.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы