113

Có thể sử dụng toán tử ternary trong mẫu twig? Bây giờ, để thêm một số lớp vào phần tử DOM phụ thuộc vào một số điều kiện tôi làm như thế này:

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

Thay vì

<tr class="<?=in_array($ability->id, $company_abilities) ? 'selected' : ''?>">

trong công cụ mẫu php gốc.

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

Toán tử ternary được ghi lại dưới ' toán tử khác '

|
92

Bạn có thể sử dụng cú pháp tốc ký kể từ Twig 1.12.0

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

Toán tử ternary ( ?:)

Hỗ trợ cho toán tử ternary mở rộng đã được thêm vào trong Twig 1.12.0 .

  1. Trường hợp 1

    Đoạn trích:

    {{ foo ? 'yes' : 'no' }}

    Đánh giá:

    nếu footiếng vang yeskhác vangno


  2. Trường hợp số 2

    Đoạn trích:

    {{ foo ?: 'no' }}

    hoặc là

    {{ foo ? foo : 'no' }}

    Đánh giá:

    nếu foolặp lại nó, tiếng vang khácno


  3. Trường hợp số 3

    Đoạn trích:

    {{ foo ? 'yes' }}

    hoặc là

    {{ foo ? 'yes' : '' }}

    Đánh giá:

    nếu footiếng vang yeskhác không có gì


Toán tử hợp nhất null ( ??)

  1. Trường hợp 1

    Đoạn trích:

    {{ foo ?? 'no' }}

    Đánh giá:

    Trả về giá trị foonếu nó được xác địnhkhông null , nonếu không

Lưu ý: điều này hơi khác so với {{ foo|default('no') }}, vì cái sau cũng sẽ được kích hoạt từ các giá trị trống như ''.

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.