有条件地渲染带有回退的树枝变量

Conditionally render twig variable with fallback

是否可以尝试渲染变量并在它为假时使用回退?

我尝试了以下方法但没有成功:

<img src="{{ fields.icon.url || post.thumbnail.src }}" />

<img src="{{ fields.icon.url or post.thumbnail.src }}" />

使用or会导致结果输出变成布尔值10.

您可以使用 default 过滤器

The default filter returns the passed default value if the value is undefined or empty, otherwise the value of the variable:

示例https://twigfiddle.com/hsniy6/2

<img src="{{ fields.icon.url|default(post.thumbnail.src) }}" />

或者,您也可以使用 ternary operators ?: 或空合并 ?? 运算符。

三元运算符 ?: 等价于 is not empty.
空合并运算符仅在前导变量为 undefinednull 且等效于 is same as(null) 时才起作用。

<img src="{{ fields.icon.url ?: post.thumbnail.src }}" />
<img src="{{ fields.icon.url ?? post.thumbnail.src }}" />