2012-09-14 9 views
62

मैं जैकिल में एक तर्क ऑपरेटर का उपयोग कर रहा हूं लेकिन यह काम नहीं कर रहा है।जेकील में बयान के मामले में मैं कैसे श्रृंखला करूं?

पृष्ठ एक, दो और तीन सब का उपयोग एक ही लेआउट (एक बहुभाषी समाधान का हिस्सा है, कुछ लेआउट नियंत्रण बातें सूखा रखने के लिए के लिए अच्छा काम करता है लेकिन आवश्यकता है तार्किक छोरों।)

कोड यह रहा:

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

यदि मैं इसे किसी भी पेड़ के साथ else और if else सेटअप पर तोड़ देता हूं, तो सब कुछ काम करता है। लेकिन जैसे ही मैं तीसरी स्थिति का उपयोग करता हूं, यह टूट जाता है। क्या मैं जैकिल के साथ दो सशर्त तक सीमित हूं? मैं case ऑपरेटर लागू करने के लिए संभावित रूप से पुनर्गठन कर सकता हूं, लेकिन मैं यहां मौलिक समस्या को समझना पसंद करूंगा। सबको शुक्रीया।

+8

उपयोग 'elsif' बजाय' elseif' – pjumble

+13

मैं क्योंकि यह भविष्य आगंतुकों में मदद मिलेगी फिर से खोलने के मतदान कर रहा हूँ। यहां तक ​​कि [तरल के लिए आधिकारिक दस्तावेज] (http://wiki.shopify.com/UsingLiquid#If_.2F_Else_.2F_Unless) 'elsif' का उल्लेख नहीं करता है। – huon

+0

https://github.com/Shopify/liquid/wiki/Liquid-for- डिज़ाइनर –

उत्तर

112

में Jekyll/तरल बाकी-यदि वर्तनी है elsif, यानी .:

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

देखें क्या आप और भी कथन के लिए {% else%} का उपयोग करना जारी रख सकते हैं? – whatsnewsaes