ผู้ประกอบการที่ประกอบไปด้วยกิ่งไม้ชวเลขและถ้าอื่นแล้ว


149

ทวิกรองรับผู้ประกอบการที่สามหรือไม่?

ฉันต้องการตรรกะตามเงื่อนไขบางอย่างเช่น:

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

แต่ใช้ชวเลขในทวิก


คุณช่วยพิจารณาเปลี่ยนคำตอบที่ยอมรับได้ไหม ฉันคิดว่าของฉันครอบคลุมและเป็นประโยชน์ต่อชุมชนมากกว่าเพราะมันครอบคลุมชวเลขทุกประเภทถ้าเป็นในทวิก
Pmpr

คำตอบ:


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

ผู้ประกอบการที่ประกอบไปด้วยเอกสารภายใต้ ' ผู้ประกอบการอื่น '


1
สิ่งนี้มีประโยชน์มากในสถานการณ์เช่นการทำเครื่องหมายปุ่มหรือรายการที่ใช้งานอยู่สำหรับหน้าปัจจุบัน
Vahid Amiri

ถ้าเป็น TRUE คุณจะมีความสามารถในการพิมพ์ได้อย่างไร (แทนที่ "เลือก")
gdaniel

1
@gdaniel{{ (ability.id in company_abilities) ? ability.id : '' }}
Ben Swinburne

ขอบคุณ ฉันประสบปัญหาในการพิมพ์ตัวแปรกิ่งไม้เมื่ออยู่ในเงื่อนไขแบบอินไลน์ ฉันจะลองทำดู
gdaniel

ฉันสงสัยว่าควรจะทำงานแบบอินไลน์เพื่อเพิ่มค่าคุณลักษณะเช่นคลาส css หรือไม่ ดูเหมือนจะไม่ทำงานสำหรับฉัน: <div class="my-section {{ model.event.eventDate ? 'half' : '' }}">- ต้องการเพิ่มคลาส CSS ที่นี่ตามเงื่อนไข
จอร์แดน

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. ถ้าfooecho เป็นyesอย่างอื่น echo no:

    {{ foo ? 'yes' : 'no' }}
  2. ถ้าfooecho มันมิฉะนั้น echo no:

    {{ foo ?: 'no' }}

    หรือ

    {{ foo ? foo : 'no' }}
  3. หากfooเสียงyesสะท้อนนั้นไม่ได้สะท้อนอะไรเลย:

    {{ foo ? 'yes' }}

    หรือ

    {{ foo ? 'yes' : '' }}
  4. ส่งกลับค่าของfooถ้ามันถูกกำหนดไว้และไม่เป็นโมฆะ , noมิฉะนั้น:

    {{ foo ?? 'no' }}
  5. ส่งคืนค่าfooถ้ามันถูกกำหนด ( ค่าว่างนับด้วย) noมิฉะนั้น:

    {{ foo|default('no') }}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.