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

Twig default to text within block if block is empty?

在我的模板上,我使用以下内容来定义 og:meta 图片 url,一些页面会覆盖它。

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

现在,我想要做的是在扩展我的主模板的子页面之一上未设置该块的情况下,在那里设置一个默认图像。

像下面这样的东西应该在主模板上

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

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

其实和你问题中描述的一样

main.twig

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

bar.twig

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

输出:bar

foobar.twig

{% extends "main.twig %}

输出:foo