2013-05-19 9 views
14

:Eksi dal bloğu tanımda bu arasındaki fark nedir

{%block body %} 

ve bu

{%block body -%} 
+0

olası yineleme [{% block body -%} içinde Twig'de bir blok için tire ne anlama geliyor?] (Http://stackoverflow.com/questions/17298902/what-does-the-hyphen-mean -A-blok-in-twig-in-in-blok-vücut) –

+3

Evet ama ben 19 Mayıs 1313 de 11:56 ve \t Michaël Perrin sordu Jun 25 '13 13:38 de. Ve bu sayfada SirDerpington – nonlux

cevap

26

Sadece belgelerinde bu konuda bir şeyler okumak, bu da {% block ... %} etiketlere uygulanacaktır emin değil. Twig whitespace control

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

Orada değişkenin önünde boşluk kırpar verilen başka bir örnek de var ama doesnt't sonunda bunu - bu yüzden etkisi yalnızca bir tarafındadır.

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

Yukarıdaki örnek varsayılan boşluk kontrolü değiştirici gösterir ve bu etiketlerin boşluk kaldırmak için kullanabilirsiniz nasıl. Kırpma alanı etiketin o tarafındaki tüm boşlukları tüketir. O

yüzden senin verilen exmaples farkı blok başladıktan sonra ilk blokta body bir boşluk olacağını düşünüyorum bir etiket bir tarafında kırparak boşluk kullanmak mümkündür. İkinci örneğinizde body - blok başlatıldıktan sonra hiçbiri yoktur. Sadece nasıl çalıştığını görmek için belge girişini okuyun. HTML belirteç içerisinde Firebug

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

çıkışları: Bu

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

DÜZENLEME

basit bir örnek docu içinde örnek göstermek için

Çıkışlardan:

whitespace between "value" and closing </li>

Uyarı "değeri" ve ikinci örnekte kapatma </li> arasındaki alan. Böylece, eksi -, örn., Her iki tarafın önünde, sonrasında veya her ikisinde de bir beyaz boşluğu siler/düzeltir. bir değişken.

+0

'dan mükemmel cevap var. Detaylı cevap için çok teşekkür ederim. – nonlux

+0

"Boşluk kontrol düzenleyici" nin sadece işaretleme ile ilgili olup olmadığını anlamak veya ilginç olduğunda boşluklara bölünmüş * TWIG * komutları arasında ihtiyaç olup olmadığını anlamak ilginç olacaktır ('' '% {true if%}} (şablonda space | newline) gibi {% set = {}%} ''), ** ve ** eğer düzenleyici her iki tarafta da gerekliyse ('' '.. true -%}' '/' '{%-set. . ya da sadece bir tane yeterli. – Kamafeather

+0

Tamam, daha yeni denedim. Aslında önemli. Ancak sadece bir tane değiştirici ('' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'dır.Aksi takdirde tüm boşlukların dikkate alındığı gözükür (HTML işaretlemesiz saf TWIG komutları arasında). – Kamafeather