Я использую фильтрпо умолчанию
Twig для указания значений аргументов по умолчанию в моем макросе :
{% macro base(type, title, content, separator, dismissable) %}
{% spaceless %}
{% debug dismissable %}
{% set separator = separator|default('!') %}
{% set dismissable = dismissable|default(true) %}
{% debug dismissable %}
{# Beginning outputting... #}
{% endspaceless %}
{% endmacro %}
Проблемазаключается в том, что увольняемый
тип аргумента должен быть логическим
.Однако при передаче false
фильтр оценивает его и присваивает true
значение по умолчанию. Пример вывода :
{{ base('success', 'Title', 'Hello', '!', false) }}
boolean false
boolean true
Это ошибка? Вот (часть) описание фильтра:
Фильтр по умолчанию возвращает переданное значение по умолчанию, если значение не определено или пусто, иначе значение переменной.
Вычисление логического false
даже не упоминается. Мой временный обходной путь:
{% set dismissable = dismissable is not defined or dismissable is null ?
true : dismissable %}