Symfony和Twig,预渲染,解析视图,替换内容

时间:2016-07-29 13:54:24

标签: php twig symfony

我需要替换每个视图文件中的一些内容。但是很多地方的内容只是一个文本,而不是一个变量,无法使用variable|replace()过滤器。

有没有办法在显示之前获取视图(例如在Controller中),所以我可以将它传递给某个函数并返回准备显示内容? 或者有可能替换block标签中的所有内容?

1 个答案:

答案 0 :(得分:1)

Symfony控制器有2个函数render()renderView(),前者呈现视图并返回Response,后者只是呈现视图并返回字符串结果。

所以你可以在你的行动中:

$content = $this->renderView('my-view.html.twig', [...]);

$content = str_replace('my text', 'my new text', $content);

return new Response($content);