template_from_string

这个 template_from_string 函数从字符串加载模板:

1
2
{{ include(template_from_string("Hello {{ name }}")) }}
{{ include(template_from_string(page.template)) }}

为了简化调试,还可以为模板指定一个名称,该名称将作为任何相关错误消息的一部分:

1
{{ include(template_from_string(page.template, "template for page " ~ page.name)) }}

注解

这个 template_from_string 默认情况下,函数不可用。您必须添加 \Twig\Extension\StringLoaderExtension 创建Twig环境时显式扩展:

$twig = new \Twig\Environment(...);
$twig->addExtension(new \Twig\Extension\StringLoaderExtension());

注解

即使你可能总是使用 template_from_string 函数 include 函数,您可以将它与任何以模板为参数的标记或函数一起使用(如 embedextends 标签)。

争论

  • template :模板
  • name :模板的名称