it-swarm.asia

كيفية التحقق من قيمة منطقية في twig قوالب؟

لدينا field_boolean (حقل منطقي) على حزمة ECK في نوع محتوى المقالة. أثناء إجراء البحث ، وصلنا إلى السؤال " كيفية اختبار حقل منطقي في twig؟ " ولكنه لا يحل مشكلتي.

ما هي الطريقة المناسبة للتحقق من القيمة المنطقية؟

لقد حاولنا لكنها لا تعمل:

{% if entity.field_boolean == True %}
{% if '1' in entity.field_boolean[0] %}

يبدو أن هذه تعمل ، لكنها ليست متأكدة من أنها نهج صحيح.

{% if entity.field_boolean[#items].value == '1' %}
{% if entity.field_boolean[#items].value %}
7
usernameabc

حان الوقت لترويج آخر لمدونة بلدي منذ فترة :)

https://www.md-systems.ch/en/blog/techblog/2017/02/20/twig-and-entity-field-api-or-how-to-take-control-of- nodehtmltwig

الجزء ذو الصلة:

عرض حقل فقط إذا تم تحديد مربع اختيار ، اختياريًا مع HTML التفاف مخصص.

{% if node.field_checkbox.value %}
   <div class="only added when there are values">
  {{ content.field_name }}
  </div>
{% endif %}

لا تحتاج إلى == '1' أو نفس ذلك أو أي شيء من هذا القبيل ، لأنه يتم تقييمه مباشرة على أنه قيمة منطقية. كما أنني لا أنصح باستخدام عمليات التحقق من النوع الآمن مع كيانات المحتوى لأنها ليست من النوع الآمن. يتم تخزين القيم في قاعدة البيانات وأي شيء يخرج من هناك سلسلة ولكن في بعض الأحيان قد لا تكون القيم. الحقل المنطقي هو في الواقع المثال المثالي لذلك ، فهو سلسلة واحدة ، ويعرف أيضًا بمزيج لطيف من 3 أنواع مختلفة من البيانات.

15
Berdir

إيداع قيمة حقول خانة الاختيار Twig لـ drupal 8:

{% if node.field_checkbox['#items'].value == '1' %}
  <div class="only added when there are values">
    {{ content.field_name }}
  </div>
{% endif %}

هذا يعمل بشكل جيد بالنسبة لي.

4
Maxim Kashuba

بالنسبة لي ، لم يعمل اختبار واحد باستمرار. ومع ذلك ، يبدو أن الحالة التالية قد غطت جميع حالات الاستخدام.

{% if content.field_boolean is not empty and node.field_boolean.value == '1' %}
1
makbeta

إذا قمت بإنشاء الحقل المنطقي في نوع المحتوى ، فهذا يعمل معي

{٪ if node.field_boolean.value == 1٪} {{page.contact_form}} {٪ endif٪}

وأيضًا إذا كان لديك مجال منطقي في فقرة ، فهذا يعمل بالنسبة لي

{٪ if content.field_boolean ['# items']. value == 1٪} {{content.field_description}} {٪ endif٪}

0
santhosh