टहनी टर्नरी ऑपरेटर, आशुलिपि अगर-तब-तब


149

क्या ट्विग टर्नरी ऑपरेटर का समर्थन करता है?

मुझे कुछ सशर्त तर्क चाहिए जैसे:

{%if ability.id in company_abilities %}
    <tr class="selected">
{%else%}
    <tr>
{%endif%}

लेकिन टहनी में आशुलिपि का उपयोग करना।


क्या आप कृपया स्वीकृत उत्तर को बदलने पर विचार कर सकते हैं? मुझे लगता है कि मेरा समुदाय के लिए अधिक व्यापक और उपयोगी है क्योंकि यह टहनी में सभी प्रकार के आशुलिपि को कवर करता है।
21

जवाबों:


294
{{ (ability.id in company_abilities) ? 'selected' : '' }}

सहायक ऑपरेटर को ' अन्य ऑपरेटरों ' के तहत प्रलेखित किया जाता है


1
यह वर्तमान पृष्ठ के लिए एक बटन या आइटम को सक्रिय करने जैसी स्थितियों में बहुत मददगार है।
वाहिद अमीरी

यदि सही है, तो आप मुद्रण क्षमता के बारे में कैसे जानते हैं। ("चयनित" के स्थान पर)।
gdaniel 21

1
@ गदनील{{ (ability.id in company_abilities) ? ability.id : '' }}
बेन स्विनबर्न

धन्यवाद। मैं इनलाइन कंडीशंस के अंदर ट्विग वैरिएबल्स को प्रिंट करने के मुद्दे रखता रहा हूं। मैं एक बार इसका प्रयास करूँगा।
gdaniel 15

मुझे लगता है कि अगर यह एक सीएसएस वर्ग की तरह एक विशेषता मूल्य जोड़ने के लिए इनलाइन काम करने में सक्षम माना जाता है? यह मेरे लिए काम नहीं करता है: <div class="my-section {{ model.event.eventDate ? 'half' : '' }}">- शर्त के आधार पर यहां एक सीएसएस क्लास जोड़ना चाहते हैं।
जॉर्डन

114

आप Twig 1.12.0 के रूप में शॉर्टहैंड सिंटैक्स का उपयोग कर सकते हैं

{{ foo ?: 'no' }} is the same as {{ foo ? foo : 'no' }}
{{ foo ? 'yes' }} is the same as {{ foo ? 'yes' : '' }}

82

विस्तारित टर्नरी ऑपरेटर के लिए समर्थन को ट्विग 1.12.0 में जोड़ा गया था ।

  1. अगर fooगूंज yesबाकी गूंज no:

    {{ foo ? 'yes' : 'no' }}
  2. यदि fooयह प्रतिध्वनित होता है, तो दूसरी प्रतिध्वनि no:

    {{ foo ?: 'no' }}

    या

    {{ foo ? foo : 'no' }}
  3. यदि fooइको इको yesइको कुछ नहीं:

    {{ foo ? 'yes' }}

    या

    {{ foo ? 'yes' : '' }}
  4. fooयदि यह परिभाषित है और नहीं तो अशक्त का मान लौटाता है , noअन्यथा:

    {{ foo ?? 'no' }}
  5. fooयदि इसे परिभाषित किया गया है तो मान लौटाता है ( खाली मान भी गिना जाता है), noअन्यथा:

    {{ foo|default('no') }}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.