Twig,在includes中传入块(例如h1)
Twig, pass in block (e.g. h1) in includes
如果我包含这样的模板:
{% include 'mytemplate.twig' %}
我可以像这样传递一个块吗?例如:
{% include 'mytemplate.twig'
<h1>Hello World</h1>
%}
并在我的其他模板 中呈现它。类似这样的内容:
// mytemplate.twig
<div>
{{ content }}
</div>
也许:
{% include 'mytemplate.twig'
with {
content: '<h1>Hello World</h1>'
}
%}
您可以拥有一个父模板并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>
您有 2 个选择:
将内容作为变量传递:
{% include 'mytemplate.twig' with {'content': 'Title', } %}
请注意,您需要将模板修改为:{{ content | raw }}
以便解析 HTML
在模板中定义一个块:
{% block content %}{% endblock %}
然后用embed
代替:
{% embed "mytemplate.twig" %}
{% block content %}
<h1>Title</h1>
{% endblock %}
{% endembed %}
如果我包含这样的模板:
{% include 'mytemplate.twig' %}
我可以像这样传递一个块吗?例如:
{% include 'mytemplate.twig'
<h1>Hello World</h1>
%}
并在我的其他模板 中呈现它。类似这样的内容:
// mytemplate.twig
<div>
{{ content }}
</div>
也许:
{% include 'mytemplate.twig'
with {
content: '<h1>Hello World</h1>'
}
%}
您可以拥有一个父模板并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>
您有 2 个选择:
将内容作为变量传递:
{% include 'mytemplate.twig' with {'content': 'Title', } %}
请注意,您需要将模板修改为:{{ content | raw }}
以便解析 HTML
在模板中定义一个块:
{% block content %}{% endblock %}
然后用embed
代替:
{% embed "mytemplate.twig" %}
{% block content %}
<h1>Title</h1>
{% endblock %}
{% endembed %}