2013-05-19 98 views
14

這是什麼之間的區別:減去樹枝塊定義

{%block body %} 

{%block body -%} 
+0

可能重複[連字符的含義是什麼意思像在{%block body - %}?中​​的小枝?](http://stackoverflow.com/questions/17298902/what-does-the-hyphen-mean - 爲塊在樹枝狀塊體) –

+3

是的,但我問了13年5月19日在11:56和\tMichaël佩林問13年6月25日在13:38。並且在這個頁面我們有很好的回答SirDerpington – nonlux

回答

26

只是讀一些關於它的文檔中,不知道這是否也適用於{% block ... %}標籤。 Twig whitespace control

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

還有給出另一個例子,其修剪的空白中的變量的前面,但doesnt't在結束這樣做 - 所以效果是隻在一側。

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

以上樣本顯示了默認空白對照修改,以及如何用它來除去周圍的標籤空白。修剪空間將消耗標記的那一側的所有空白。 它可以使用空格修剪上一個標籤

,所以我想你給exmaples不同的是,在第一塊body會有一個空白塊開始後的一個側面。在你的第二個例子body -塊開始後沒有。 只需閱讀文檔條目以瞭解其工作原理。

EDIT

一個簡單的例子來說明在實況的例子:

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

輸出螢火蟲在HTML標記: no whitespaces afer value

鑑於此

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

OUPUTS:

whitespace between "value" and closing </li>

通知 「值」,並在第二個例子中的閉合</li>之間的空間。因此,減號-可以在例如之前,之後或兩側擦除/修整空白。一個變量。

+0

非常感謝您的詳細解答。 – nonlux

+0

理解是否需要「空白控制修飾符」,或者是否需要在* TWIG *指令之間用空格分隔(如''{%if true%}(空格|模板中的換行符) {%set something = {}%}'''),**和**如果兩邊都需要修飾符('''true - %}'''/'''{% - set。 .''')或者只有一個就足夠了。 – Kamafeather

+0

好吧,我只是試了一下。其實它很重要。但只有一個修飾符(在'''true%}'''或'''{%set'''上)就足夠了。否則,似乎所有的間距都被考慮(在沒有HTML標記的純TWIG指令之間)。 – Kamafeather