it-swarm.asia

كيف أحصل على قيمة الحقل الخام في قالب twig؟

myfield هو حقل نص عادي. {{ content.field_myfield }} يتم عرض الحقل بترميز HTML وتسمية الحقل.

كيف أعرض القيمة الأولية للحقل؟ {{ content.field_myfield.value }} لا يعمل.

28
Pim

{{ entity.field_name.value }} للحصول على القيمة الأولية الحقيقية ، يتضمن العلامات والتشفير.

  • مثال: {{ node.body.value }}
  • نتيجة: <p>Batman &amp; Robin</p>

{{ content.field_name.0 }} للحصول على القيمة الأولية ناقص العلامات والتشفير.

  • مثال: {{ content.body.0 }}
  • نتيجة: Batman & Robin

خام

يجب تجنب هذا الفلتر كلما أمكن ذلك ، خاصةً إذا كنت تقوم بإخراج بيانات يمكن إدخالها من قبل المستخدم. انظر هذه الصفحة لمزيد من المعلومات حول الإفلات التلقائي في Drupal 8.

المصدر: الفلاتر - تعديل المتغيرات في Twig Templates

يصنف المرشح الخام القيمة على أنها "آمنة" ، مما يعني أنه في بيئة تم تمكين الإفلات التلقائي فيها ، لن يتم تجاوز هذا المتغير إذا كان الخام هو تم تطبيق الفلتر الأخير عليه

المصدر: مستندات Twig الرسمية




على سبيل المثال ، يمكنك استخدام:

{{ node.body.value|striptags }}
{{ paragraph.field_text.value|striptags }}

المشكلة في استخدام twig's | striptags هي ترميز مزدوج لكيانات html ، وليس ترميزًا ، لذلك & يصبح &amp; وثم &amp;amp; - بردير

47
No Sssweat

يمكنك استخدام قيمة حقل Twig الوحدة النمطية في هذه الحالة. بعد تثبيت هذه الوحدة ، ستحصل على الوصول إلى بيانات جزئية من صفائف تقديم الحقل. على سبيل المثال.

{{ content.field_name|field_value }}
content.field_image|field_target_entity.uri.value

المزيد من المعلومات حول صفحة المشاريع

5
Andrew Kozoriz
{{ content.body | raw }} 

الحصول على قيمة الحقل الخام في قالب twig

2
Wasim Khan

إذا كان هذا يساعد أي شخص ، فقد أردت عرض سنة بداية حقل نطاق التاريخ فقط ، بدلاً من جزئي النطاق ، داخل حقل Twig.

لذلك انتهى بي الأمر إلى تجاوز قالب الحقل المعتاد بهذا:

{% if label_hidden %}
  {% if multiple %}
    <div{{ attributes.addClass(classes, 'field--items') }}>
      {% for key, item in items %}
        <h3{{ item.attributes.addClass('field--item') }}>{{ element['#items'][key].value|date('Y') }}</h3>
      {% endfor %}
    </div>
  {% else %}
    {% for key, item in items %}
      <h3{{ attributes.addClass(classes, 'field--item') }}>{{ element['#items'][key].value|date('Y') }}</h3>
    {% endfor %}
  {% endif %}
{% else %}
  <div{{ attributes.addClass(classes) }}>
    <div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
    {% if multiple %}
      <div class="field--items">
    {% endif %}
    {% for key, item in items %}
      <h3{{ item.attributes.addClass('field--item') }}>{{ element['#items'][key].value|date('Y') }}</h3>
    {% endfor %}
    {% if multiple %}
      </div>
    {% endif %}
  </div>
{% endif %}
0
Dave Nattriss