twig
मूल टेम्पलेट सिंटैक्स
खोज…
परिचय
बुनियादी टेम्पलेट सिंटैक्स निर्माण की व्याख्या
चरों तक पहुँचना
ट्विग टेम्प्लेट में चर को दोहरे घुंघराले ब्रेस नोटेशन {{ variableName }}
का उपयोग करके एक्सेस किया जा सकता है।
ग्रीटिंग उपयोगकर्ता का मूल उदाहरण
<!DOCTYPE html>
<html>
<body>
<span>Hello {{ name }}</span>
</body>
</html>
पहुंच तत्व
एक पैरामीटर के रूप में टहनी सरणी प्राप्त कर सकते हैं। सरणी के एक विशिष्ट तत्व तक पहुँचने के लिए आप नियमित php सरणी पहुँच कोष्ठक संकेतन {{ array[key] }}
उपयोग कर सकते हैं।
पिछले उदाहरण को एक पैरामीटर के रूप में सरणी का उपयोग करने के लिए संशोधित किया गया है
<!DOCTYPE html>
<html>
<body>
<span>Hello {{ user['name'] }}</span>
</body>
</html>
वस्तु के गुणों तक पहुँचना
टेम्प्लेट के लिए ऑब्जेक्ट को पैरामीटर के रूप में भी पास किया जा सकता है। 'Dot' (।) संकेतन का उपयोग विशिष्ट वस्तु गुणों {{ object.propertyName }}
तक पहुंचने के लिए किया जाता है।
पैरामीटर के रूप में ऑब्जेक्ट के साथ एक ही उदाहरण
<!DOCTYPE html>
<html>
<body>
<span>Hello {{ user.name }}</span>
</body>
</html>
फिल्टर
चर को फिल्टर का उपयोग करके संशोधित किया जा सकता है। फ़िल्टर को चर पर लागू करने के लिए पाइप के साथ चर नाम का पालन करें |
और फ़िल्टर नाम:
{{ variable|filterName }}
उदाहरण के लिए अपरकेस उपयोग निर्माण में चर मूल्य प्रदर्शित करने के लिए।
{{ variable|upper }}
फिल्टर पैरामीट्रिज्ड हो सकते हैं। फ़िल्टर पैरामीटर कोष्ठक के अंदर एक अल्पविराम (,) अलग सूची के रूप में पारित किए जाते हैं:
{{ variable|filterName(param1, param2, ...) }}
दी गई सटीक संख्या को गोल करने के लिए हम फ़िल्टर round
उपयोग कर सकते हैं, यह 2 मापदंडों तक स्वीकार करता है। पहला एक सटीक निर्दिष्ट करता है (डिफ़ॉल्ट: 0), दूसरा एक गोलाई विधि (डिफ़ॉल्ट: आम)।
सामान्य पद्धति का उपयोग करके नंबर 1 से दशमलव स्थान तक पहुंचने के लिए आप {{ number|round(1, 'common') }}
उपयोग कर सकते हैं। {{ number|round(1) }}
आम डिफॉल्ट विधि है।
फ़िल्टर का उपयोग एम्बेडेड ऑब्जेक्ट्स और सरणी चर पर भी किया जा सकता है:
{{ array['key'] | upper }} {{ object.text | upper }}
फिल्टर को भी संघटित किया जा सकता है:
{% set array = "3,1,2"|split(',') %}
{{ array | sort | first }}
यहां बुनियादी फिल्टर की सूची उपलब्ध है
सशर्त ब्लॉक
टेम्पलेट के हिस्सों को सशर्त रूप से प्रदर्शित किया जा सकता है। If
इस उद्देश्य के लिए कथन का उपयोग किया जाता है। यह के समान है if
भाषाओं programing में बयान। ब्लॉक की सामग्री को निष्पादित / प्रदर्शित किया जाता है यदि कोई अभिव्यक्ति true
मूल्यांकन करती true
।
{% if enabled == false %}
Disabled
{% endif %}
अक्षम को केवल तभी प्रदर्शित किया जाएगा जब enabled
समान false
।
elseif
और else
का उपयोग करके कई शाखाएं बनाई जा सकती else
।
{% if temperature < 10 %}
It's cold
{% elseif temperature < 18 %}
It's chilly
{% elseif temperature < 24 %}
It's warm
{% elseif temperature < 32 %}
It's hot
{% else %}
It's very hot
{% endif %}
पाश के लिए
लूप्स के लिए TWIG में वास्तव में उपयोगी हो सकता है, जिससे डेटा-गतिशील वेब पेज बनाने की अनुमति मिलती है।
मान लें कि हम संख्याओं का एक सरल सरणी बनाते हैं:
{% set array = "3,1,2" %}
फिर हम सरणी पर पुनरावृति कर सकते हैं और हम जो चाहें प्रिंट कर सकते हैं। सरणी ब्लॉक के भीतर किसी भी डेटा को सरणी के भीतर डेटा की मात्रा के संबंध में आउटपुट किया जाएगा। यह उदाहरण तीन एच 1 तत्वों को छांटता है, जिसमें सरणी डेटा समाप्त हो जाता है।
{% for current in array %}
<h1>This is number {{ current }} in the array </h1>
{% endear %}
ध्यान दें कि डेटा को एक्सेस करने के लिए {{ current }}
का उपयोग किया गया था न कि array
का एक संस्करण
यह कार्य देखें: https://twigfiddle.com/mxwkea/2
इसका एक और उदाहरण वस्तुओं का उपयोग करना हो सकता है। उदाहरण के लिए, मान लें कि हमारे पास अपने संबंधित गेटर्स और बसने वालों के साथ क्षेत्र 'नाम' के साथ इकाई वस्तु है। यदि इन संस्थाओं में से कई को ऐरे के भीतर भी संग्रहीत किया जाता है, तो उन्हें TWIG के भीतर किसी भी अन्य ऑब्जेक्ट की तरह एक्सेस किया जा सकता है:
{% for currentObject in ArrayOfObjects %}
{{ currentObject.name }}
{% endfor %}
इसे JSON डेटा के साथ काम करते हुए देखें: https://twigfiddle.com/mxwkea
टर्नरी ऑपरेटर (शॉर्टहैंड इफ-तब-एल्स) और नल-कोलेसिंग ऑपरेटर
टर्नरी ऑपरेटर ( ?:
:)
विस्तारित टर्नरी ऑपरेटर के लिए समर्थन को ट्विग 1.12.0 में जोड़ा गया था।
{{ foo ? 'yes' : 'no' }}
मूल्यांकन करता है:
अगर
foo
गूंजyes
तो गूंजno
{{ foo ?: 'no' }}
या
{{ foo ? foo : 'no' }}
मूल्यांकन करता है:
अगर
foo
गूंजता है, तो गूंजno
{{ foo ? 'yes' }}
या
{{ foo ? 'yes' : '' }}
मूल्यांकन करता है:
अगर
foo
गूंजyes
और कुछ नहीं
अशक्त-संचालक ऑपरेटर ( ??:
:)
{{ foo ?? 'no' }}
मूल्यांकन करता है:
का मान देता है
foo
अगर यह परिभाषित किया गया है और नहीं अशक्त,no
अन्यथा
व्हाट्सएप को हैंडल करना
HTML टैग के बीच व्हाट्सएप (स्पेस, टैब्स, न्यूलाइन्स…) को हटाने के लिए spaceless
टैग का उपयोग करें:
{% spaceless %}
<div>
<span>foo bar </span>
</div>
{% endspaceless %}
{# produces output <div><strong>foo bar </strong></div> #}
यदि आपको प्रति टैग स्तर पर व्हाट्सएप को हटाने की आवश्यकता है, तो व्हॉट्सएप नियंत्रण संशोधक अर्थात हाइफ़न (-) का उपयोग करें। इसका उपयोग करके, आप व्हाट्सएप के प्रमुख और अनुगामी को ट्रिम कर सकते हैं:
{% set value = 'foo bar' %}
<span> {{- value }} </span>
{# produces '<span>foo bar </span>' #}
<span> {{ value -}} </span>
{# produces '<span> foo bar</span>' #}
<span> {{- value -}} </span>
{# produces '<span>foo bar</span>' #}
<span {%- if true %} class="foo"{% endif %}>
{# produces '<span class="foo">' #}
<span {%- if false %} class="foo"{% endif %}>
{# produces '<span>' #}