Вы можете решить это двумя способами. Либо вы предварительно визуализируете вывод $this->generateTwig()
и вставляете (HTML) в шаблон blank.html.twig
(непроверенный псевдо):
$template = $this->get('twig')->createTemplate($this->generateTwig());
$twig = $template->render();
return $this->render('blank.html.twig', [
'twig' => $twig,
]);
Обратной стороной этого подхода является то, что вам нужно вызвать {{ twig|raw }}
в blank.html.twig
, иначе Twig выйдет из HTML. Также: кажется немного странным предварительно визуализировать шаблон веточки перед тем, как передать его в Twig (снова).
Другой подход заключается в том, что вы загружаете шаблон внутри своего blank.html.twig
шаблона:
{{ include(template_from_string(twig)) }}
Функция template_from_string
является частью StringLoaderExtension
.
Документы здесь: https://twig.symfony.com/doc/3.x/recipes.html#loading -a-template-from-a-string
Изменить: если подумать, третий подход может быть еще проще, если blank.html.twig
действительно просто файл, который выводит {{ twig }}
:
$template = $this->get('twig')->createTemplate($this->generateTwig());
return $template->render();