Минус В определении блока ветки - программирование
Подтвердить что ты не робот

Минус В определении блока ветки

Какая разница между этим:

{%block body %}

и что

{%block body -%}
4b9b3361

Ответ 1

Просто прочитайте что-нибудь об этом в документации, не уверен, что это применимо и к тэгам {% block ... %}. Управление пробелами Twig

{% set value = 'no spaces' %}
    {#- No leading/trailing whitespace -#}
    {%- if true -%}
        {{- value -}}
    {%- endif -%}
{# output 'no spaces' #}

Здесь также показан другой пример, который выравнивает пробелы перед переменной, но не делает это в конце - поэтому эффект только с одной стороны.

{% set value = 'no spaces' %}
    <li>    {{- value }}    </li>
{# outputs '<li>no spaces    </li>' #}

В приведенном выше примере показан модификатор управления пробелами по умолчанию и как его можно использовать для удаления пробелов вокруг тегов. Затрагивание пространства будет потреблять все пробелы для этой стороны тега. Можно использовать обрезку пробелов на одной стороне тега

Итак, я думаю, что разница в ваших приведенных выше примерах заключается в том, что в первом блоке body после запуска блока будет пробел. Во втором примере body - нет ни одного после запуска блока. Просто прочитайте запись документации, чтобы узнать, как она работает.

ИЗМЕНИТЬ

Простой пример для демонстрации примера в документе:

{% set value = 'NO space in source code after/before "value"' %}
<li>    {{- value -}}    </li>
...

выходы в Firebug в разметке HTML: no whitespaces afer value

В то время как этот

{% set value = 'space in source code after "value"' %}
<li>    {{- value }}    </li>
...

Выходы:

whitespace between "value" and closing </li>

Обратите внимание на пробел между "значением" и закрытием </li> во втором примере. Таким образом, минус - стирает/обрезает пробел либо до, после, либо с обеих сторон, например. переменная.