Для чего-то, что является целой страницей, у меня часто будет отдельный шаблон или, по крайней мере, часть страницы, которая будет включена в целую страницу.
Вы можете получить _locale из $ request, а затем выбрать другой шаблон, основанный на нем. В простейшем случае, $this->twig->renderResponse("privacy.{$locale}.html.twig");
, или передайте его и включите включенный шаблон в контент уровня страницы.
Для динамических имен шаблонов я делал нечто подобное раньше - это упрощенная версия (у меня было две переменные, а не только $place
).
$tplName = "policies/privacy_{$place}.html.twig";
if (!$this->twig->exists($tplName)) {
$tplName = "policies/privacy_uk.html.twig";
$place = 'uk';
}
return $this->twig->renderResponse($tplName, ['place' => $place]);
Точно так же вы можете передать $tplName
в рендеринг в качестве переменной и использовать его в качестве параметра для включения частичного шаблона.