2012-09-14 7 views
62

Jekyll'de bir mantık operatörü kullanıyorum ama çalışmıyor.Jekyll'deki ifadeler nasıl yapılır?

Sayfa bir, iki ve üç hepsi kullandıkları aynı düzen (çok dilli bir çözümün bir parçası, iyi çalışıyor ancak gerektirir mantıksal döngüler KURU tutmak için bazı düzen kontrolü için.)

İşte kod:

{% if page.type == "post" %} 
{% include post.html %} 
{% elseif page.class == "contact" %} 
{% include contact.html %} 
{% else %} 
{{ content }} 
{% endif %} 

Ben ağacın herhangi ikisiyle, sadece bir else ve if else ayarı ile yıkmak, her şey çalışıyor. Ama üçüncü bir koşulu kullandığım anda bozuluyor. Jekyll ile iki koşulla sınırlı mıyım? Uygulanabilir bir case operatörünü yapmak için yeniden yapılandırabilirim, ancak burada temel sorunu anlamayı tercih ederim. Hepinize teşekkürler.

+8

Kullanım 'elsif' yerine' Ben bu gelecek ziyaretçiler yardımcı olacaktır çünkü yeniden açmak için oy veriyorum – pjumble

+13

elseif'. Hatta [sıvı için resmi belgeler] (http://wiki.shopify.com/UsingLiquid#If_.2F_Else_.2F_Unless) 'elsif'den söz etmez. – huon

+0

https://github.com/Shopify/liquid/wiki/Liquid-for-Designers –

cevap

112
Sıvı Jekyll/else-if elsif yazıldığından olarak

, yani .:

{% if page.type == "post" %} 
{% include post.html %} 
{% elsif page.class == "contact" %} 
{% include contact.html %} 
{% else %} 
{{ content }} 
{% endif %} 
+0

bakın hatta daha tablolar için {% else%} kullanmaya devam edebilir miyim? – whatsnewsaes