Làm cách nào để kiểm tra trường boolean trong mẫu twig?


8

field_boolean là một lĩnh vực boolean.

{% if content.field_boolean == true %}hoặc {% if content.field_boolean == 1 %}hoặc {% if content.field_boolean == 'true' %}hoặc {% if content.field_boolean == '1' %}không làm việc.

Làm cách nào để kiểm tra nếu hộp kiểm được chọn?

Câu trả lời:


14

Bạn muốn xem giá trị thô, không phải mảng kết xuất.

Thí dụ:

{% if node.field_foo is not empty %}

Điều này kiểm tra nếu trường tồn tại. Mảng kết xuất sẽ không hữu ích ngoài giá trị kết xuất.

Đừng nhìn vào content- đó chỉ đơn giản là mảng render. Nhìn vào các trường trong đối tượng thực thể của bạn (nút, đoạn, v.v.). Bạn có thể muốn cài đặt Twig XDebug để phá vỡ các mẫu của bạn hoặc kiểm tra các biến trong đó mytheme.theme.

Bạn sẽ có thể nhìn vào {% if node.field_foo.value ... %}để kiểm tra bình đẳng.


Làm cách nào để kiểm tra giá trị thô? 'content.field_boolean.value' dường như không hoạt động. Đồng thời xem câu hỏi khác của tôi về hiển thị giá trị thô ( drupal.stackexchange.com/questions/228388/ mẹo )
Pim

3
Đừng nhìn vào 'nội dung'. Nhìn vào các trường trong đối tượng thực thể của bạn (nút, đoạn, v.v.). Bạn có thể muốn cài đặt Twig xdebug để phá vỡ các mẫu của bạn hoặc kiểm tra các biến trong huyền thoại.theme.
Kevin

Cảm ơn rât nhiều! Điều đó đã giải quyết câu hỏi. Nếu bạn muốn đăng cùng một câu trả lời cho câu hỏi khác, điều đó có thể hữu ích cho những người dùng khác. Nếu không tôi sẽ tự trả lời.
Pim

Một câu hỏi khác: có hiệu quả hơn khi sử dụng trực tiếp node.field hoặc đoạn.field thay vì content.field bên cạnh mẫu twig?
Pim

1
Trả lời cập nhật.
Kevin

1

Đây là cách tôi giải quyết vấn đề này, nó yêu cầu dự án twig_field_value .

Đối với trường boolean, đặt giá trị bật và tắt lần lượt là 1 và 0.

Trong cành:

{% if content.field_foo|field_raw('value')|number_format(0,'.',',') is same as('0') %} <span>the box is NOT checked</span> {% endif %}


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.