Qual è la differenza tra questo:Minus In definizione di blocco ramoscello
{%block body %}
e che
{%block body -%}
Qual è la differenza tra questo:Minus In definizione di blocco ramoscello
{%block body %}
e che
{%block body -%}
Basta leggere qualcosa al riguardo nella documentazione, non so se questo si applica anche su {% block ... %}
tag. Twig whitespace control
{% set value = 'no spaces' %}
{#- No leading/trailing whitespace -#}
{%- if true -%}
{{- value -}}
{%- endif -%}
{# output 'no spaces' #}
C'è anche un altro esempio in cui rifila gli spazi di fronte alla variabile ma doesnt't farlo alla fine - così l'effetto è solo su un lato.
{% set value = 'no spaces' %}
<li> {{- value }} </li>
{# outputs '<li>no spaces </li>' #}
L'esempio sopra mostra il modificatore di controllo di default spazi, e come si può utilizzare per rimuovere gli spazi bianchi intorno tag. Lo spazio di ritaglio consumerà tutti gli spazi bianchi per quel lato del tag. E 'possibile utilizzare gli spazi bianchi taglio su un lato di un tag
Quindi penso che la differenza nei vostri dati exmaples è che nel primo blocco body
ci sarà uno spazio bianco dopo il blocco iniziato. Nel secondo esempio, body -
non ce n'è nessuno dopo l'avvio del blocco. Basta leggere la voce della documentazione per vedere come funziona.
EDIT
Un semplice esempio per illustrare l'esempio nella docu:
{% set value = 'NO space in source code after/before "value"' %}
<li> {{- value -}} </li>
...
uscite Firebug nel markup HTML:
considerando questo
{% set value = 'space in source code after "value"' %}
<li> {{- value }} </li>
...
ouputs:
Nota lo spazio tra "valore" e la chiusura </li>
nel secondo esempio. Quindi il meno -
cancella/taglia uno spazio bianco prima, dopo o su entrambi i lati di es. una variabile.
Grazie mille per la risposta dettagliata. – nonlux
Sarebbe interessante capire se il "modificatore di controllo degli spazi bianchi" è necessario solo per quanto riguarda il markup o se è necessario anche tra le istruzioni * TWIG * divise per spazi (come '' '{% se true%} (spazio | newline nel modello) {% imposta qualcosa = {}%} '' '), ** e ** se il modificatore è necessario su entrambi i lati (' '' .. true -%} '' '/' '' {% - set. .''') o ne basta uno solo. – Kamafeather
Ok, l'ho appena provato. In realtà conta. Ma basta un solo modificatore (su '' 'true%}' '' o su '' '{% set''').Altrimenti sembra che tutte le spaziature siano considerate (sia tra le istruzioni TWIG pure senza markup HTML). – Kamafeather
possibile duplicato di [Che cosa significa il trattino per un blocco in Twig come in {% block body -%}?] (Http://stackoverflow.com/questions/17298902/what-does-the-hyphen-mean -per-un-blocco-in-ramoscello-nel-blocco-corpo) –
Sì, ma ho chiesto il 19 maggio '13 alle 11:56 e \t Michaël Perrin chiesto 25 giugno 13 alle 13:38. E in questa pagina abbiamo un'ottima risposta da SirDerpington – nonlux