Использование or
приведет к тому, что результирующий вывод станет логическим значением 1
или 0
.
Вместо этого вы можете использовать фильтр default
Фильтр default
возвращает переданное по умолчанию значение, если значение равно undefined
или empty
, в противном случае значение переменной:
<img src="{{ fields.icon.url|default(post.thumbnail.src) }}" />
В качестве альтернативы вы также можете использовать троичные операторы ?:
или нуль-коалесцирующий оператор ??
.
троичный оператор ?:
эквивалентно is not empty
.
Нулевой оператор слияния будет работать только тогда, когда ведущая переменная равна undefined
, null
и эквивалентна is same as(null)
.
<img src="{{ fields.icon.url ?: post.thumbnail.src }}" />
<img src="{{ fields.icon.url ?? post.thumbnail.src }}" />