1

如果我包含这样的模板:

{% include 'mytemplate.twig' %}

我可以像这样传递一个块,例如:

{% include 'mytemplate.twig' 
    <h1>Hello World</h1>
%}

并将其呈现我的另一个模板中。像这样的东西:

// mytemplate.twig

<div>
    {{ content }}
</div>
4

3 回答 3

2

您有 2 个选项:

  1. 将内容作为变量传递:

    {% include 'mytemplate.twig' with {'content': 'Title', } %}

请注意,您需要将模板修改为:{{ content | raw }}以解析 HTML

  1. 在模板内定义一个块:

    {% block content %}{% endblock %}


然后embed改用:

{% embed "mytemplate.twig" %}
{% block content %}
   <h1>Title</h1>
{% endblock %}
{% endembed %}
于 2016-05-19T11:46:00.920 回答
0

也许:

{% include 'mytemplate.twig' 
   with {
       content: '<h1>Hello World</h1>'
   }
%}
于 2016-05-19T11:42:45.663 回答
0

您可以拥有一个父模板并mytemplate.twig扩展它:

// parent_template.twig

<div>
    {% block content %}{% endblock %}
</div>

// mytemplate.twig

{% extends 'parent_template.twig' %}

{% block content %}<h1>Hello World</h1>{% endblock %}

或传入参数include

{% include 'mytemplate.twig' with { 'content': 'Hello World' } %}

在 mytemplate.twig 中:

<div>
    <h1>{{ content }}</h1>
</div>
于 2016-05-19T11:44:12.907 回答