将树枝代码传递到树枝模板中并进行渲染

唐纳·林奇

因此,我有一个基本为空的树枝模板,应用程序生成了一些树枝代码,并将其作为变量传递到树枝模板中,如下所示:

return $this->render('blank.html.twig', [
    'twig' => $this->generateTwig()
]);

blank.html.twig看起来像这样:

{{ twig }}

但是在渲染模板时,它内部只有未渲染的树枝代码,如下所示:

{% extends 'base.html.twig' %} {% block content %} <h1>{{ 'app-name'|trans }}...

在此示例中,如何渲染注入的树枝代码?

做一件file_put_contents('blank', $this->generateTwig())作品,但这违背了使用模板的目的。

比约恩

您可以解决这两种方法。您可以预渲染$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 }}in 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();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数组传递到树枝中的包含

来自分类Dev

树枝不渲染模板

来自分类Dev

在phpunit测试中渲染树枝模板的问题

来自分类Dev

OneupUploaderBundle:在树枝模板中渲染响应消息

来自分类Dev

Drupal 8:在树枝模板中渲染视图

来自分类Dev

symfony树枝渲染动态树枝代码

来自分类Dev

symfony树枝渲染动态树枝代码

来自分类Dev

SlimPHP:如何将闪存消息数组传递到树枝模板

来自分类Dev

从树枝模板生成树枝模板?(代码生成器)

来自分类Dev

在formmapper中渲染部分树枝

来自分类Dev

将JSX代码存储在变量中并进行渲染?

来自分类Dev

Symfony2将变量从自己的包传递到树枝

来自分类Dev

symfony 3.4将变量传递给树枝中的模态

来自分类Dev

包括树枝模板作为要传递到另一个模板的对象吗?

来自分类Dev

将变量从树枝传递给js

来自分类Dev

Symfony2 app.request.get在渲染的树枝模板中返回null

来自分类Dev

从树枝模板中过滤关系的最佳方法

来自分类Dev

如何覆盖树枝扩展中的模板块?

来自分类Dev

在树枝模板中解析/搜索特定功能

来自分类Dev

在树枝扩展中获取模板名称

来自分类Dev

从Symfony 4中的树枝模板调用服务

来自分类Dev

在树枝模板中显示symfony对象值

来自分类Dev

如何覆盖树枝扩展中的模板块?

来自分类Dev

在树枝模板中访问PHP Global

来自分类Dev

在树枝扩展中获取模板名称

来自分类Dev

树枝模板布局中的javascript产生错误

来自分类Dev

图像未显示在 Symfony 树枝模板中

来自分类Dev

树枝模板中的递归宏调用

来自分类Dev

从 Javascript 渲染树枝变量?