พบวิธีแก้ปัญหานี้ คุณ สามารถ มีไฟล์ twig เพียงไฟล์เดียว บล็อกไฟล์ twig แบบกำหนดเอง และเข้าถึงฟิลด์ภายในย่อหน้า
ย้ายตัวแปรย่อหน้าไปไว้ข้างใน for ลูป และแทนที่ตัวแปรดังนี้:
รหัสเก่า
["#วรรค"].field_paragraph_title.value
รหัสใหม่
item.entity.field_paragraph_title.value
และแทนที่ for วนซ้ำดังนี้:
รหัสเก่า
{% สำหรับรายการใน content.field_paragraph_image_block %}
รหัสใหม่
{% สำหรับรายการใน content.field_paragraph_image_block['#items'] %}
นี่คือโค้ดใหม่ใน block--paragraph-images.html.twig ไม่จำเป็นต้องใช้กิ่งอื่นๆ:
{% บล็อกเนื้อหา %}
{# ช่องบล็อก #}
{% set paragraph_count = content.field_paragraph_image_block['#items']|ความยาว %}
{% ตั้ง paragraph_count_css = 'grid-cols-' ~ ย่อหน้า %}
<div class="block__content ภาพ-ย่อหน้า mb-0 ตารางช่องว่าง-4 {{ ย่อหน้า_นับ_css }} " >
{% สำหรับรายการใน content.field_paragraph_image_block['#items'] %}
{# ช่องย่อหน้า #}
{% กำหนดย่อหน้า_ชื่อเรื่อง = item.entity.field_paragraph_title.value %}
{% กำหนดย่อหน้า_ข้อความ = item.entity.field_paragraph_text.value %}
{% set media_id = item.entity.field_paragraph_image.target_id %}
{% ตั้งวรรค_คลาส = [
'เอฟเฟกต์ย่อหน้ารูปภาพ'
'ภาพนับ-' ~ วรรค_count,
] | จัดเรียง | เข้าร่วม (' ') | ตัดแต่ง %}
<div class="{{ วรรค_คลาส }}">
{{ drupal_entity('media', media_id, 'original_size') }}
{{ ย่อหน้า_ชื่อเรื่อง }}
{{ ย่อหน้า_ข้อความ }}
</div>
{% สิ้นสุดสำหรับ %}
</div>
{% บล็อกท้าย %}