如果块为空,Twig默认为块内的文本吗?

时间:2018-08-27 00:47:28

标签: templates twig slim templating slim-3

在我的模板上,我使用以下内容定义og:meta图片网址,某些页面会覆盖此网址。

<meta property="og:image" content="{% block ogMetaImage %}{% endblock %}" />

现在,如果我没有在扩展主模板的子页面之一上设置块,那么我想做的就是在其中拥有默认图像。

应在主模板上添加以下内容

<meta property="og:image" content="{% block ogMetaImage%}https://example.com/image.jpg{% endblock %}" />

有没有办法用Twig做到这一点?

1 个答案:

答案 0 :(得分:3)

就像您在问题中实际描述的那样。

main.twig

{% block foo %}
    Foo
{% endblock %}

bar.twig

{% extends "main.twig" %}
{% block foo %}
     Bar
{% endblock %}

输出:bar

foobar.twig

{% extends "main.twig %}

输出:foo