Điểm:0

Khối mở rộng, khối có trường đoạn văn và 3 trường đoạn văn... cách lặp qua các đoạn văn từ phần mở rộng khối

lá cờ cn

Đây là những gì tôi có:

Tôi có ba tập tin twig:

  1. block--paragraph-images.html.twig (mở rộng block.html.twig)
  2. trường--trường-đoạn-hình-block.html.twig (trường đoạn nằm trong loại khối tùy chỉnh, khối--đoạn-hình ảnh.html.twig.)
  3. đoạn--trường-đoạn-hình.html.twig (chứa ba trường: trường_đoạn_hình, trường_đoạn_tiêu đề và trường_đoạn_văn bản).

Tôi có thể truy cập các trường riêng lẻ trong đoạn--trường-đoạn-hình.html.twig từ khối--đoạn-hình ảnh.html.twig, nhưng nó chỉ hiển thị mục đầu tiên. Tôi cần lặp qua các trường đoạn văn trong trường--trường-đoạn-hình-khối.html.twig. Tôi đang cố gắng thực thi mọi thứ từ block--paragraph-images.html.twig để giữ cho các tệp dễ quản lý hơn. Điều này có khả thi không?

Những gì tôi có bên dưới chỉ hiển thị chỉ mục đầu tiên trong mảng. Nếu tôi bỏ ghi chú câu lệnh vòng lặp, nó sẽ hiển thị khoảng 12 mỗi chỉ mục đầu tiên trong mảng. Điều tôi cần là mỗi chỉ mục đoạn văn chỉ hiển thị một lần trong lưới.

0, hình ảnh, tiêu đề, văn bản

1, hình ảnh, tiêu đề, văn bản

2, hình ảnh, tiêu đề, văn bản

Bất kỳ trợ giúp và hướng được đánh giá cao.

{% khối nội dung %}

    {# trường chặn #}
    {% đặt đoạn_count = content.field_paragraph_image_block['#items']|length %}
    {% đặt đoạn_count_css = 'grid-cols-' ~ đoạn_count %}

    {# trường đoạn văn #}
    {% đặt đoạn_title = content.field_paragraph_image_block.0["#paragraph"].field_paragraph_title.value %}
    {% đặt đoạn_văn bản = content.field_paragraph_image_block.0["#paragraph"].field_paragraph_text.value %}
    {% set media_id = content.field_paragraph_image_block.0["#paragraph"].field_paragraph_image.target_id %}
    
    <div class="block__content image-paragraph mb-0 grid gap-4 {{paragraph_count_css }} " >
        {% đặt đoạn_classes = [
            'đoạn-hình ảnh-hiệu ứng',
            'hình ảnh-đếm-' ~ đoạn_count,
        ] | sắp xếp | tham gia(' ') | cắt %}

       {# {% cho mục trong content.field_paragraph_image_block %} #}
            <div class="{{paragraph_classes}}">
                    {{ drupal_entity('media', media_id) }}
                    {{đoạn_title}}
                    {{đoạn_văn}}
            </div>
       {# {% endfor %} #}
    </div>

{% khối cuối %}
Điểm:1
lá cờ cn

Tìm thấy giải pháp cho vấn đề này. Bạn có thể chỉ có một tệp twig, tệp twig khối tùy chỉnh và truy cập các trường bên trong đoạn văn.

Di chuyển các biến đoạn văn vào bên trong vòng lặp for và thay thế các biến như sau:

mã cũ

["#paragraph"].field_paragraph_title.value

Mã mới

item.entity.field_paragraph_title.value

và thay thế vòng lặp for như thế này:

mã cũ

{% cho mục trong content.field_paragraph_image_block %}

Mã mới

{% cho mục trong content.field_paragraph_image_block['#items'] %}

Đây là mã mới trong block--paragraph-images.html.twig, không cần nhánh nào khác:

{% khối nội dung %}
    {# trường chặn #}
    {% đặt đoạn_count = content.field_paragraph_image_block['#items']|length %}
    {% đặt đoạn_count_css = 'grid-cols-' ~ đoạn_count %}

   <div class="block__content image-paragraph mb-0 grid gap-4 {{paragraph_count_css }} " >

    {% cho mục trong content.field_paragraph_image_block['#items'] %}

        {# trường đoạn văn #}  
        {% đặt đoạn_title = item.entity.field_paragraph_title.value %}
        {% đặt đoạn_văn bản = item.entity.field_paragraph_text.value %}
        {% set media_id = item.entity.field_paragraph_image.target_id %}

        {% thiết lập đoạn_classes = [
            'đoạn-hình ảnh-hiệu ứng',
            'hình ảnh-đếm-' ~ đoạn_count,
        ] | sắp xếp | tham gia(' ') | cắt %}

            <div class="{{paragraph_classes}}">
               {{ drupal_entity('media', media_id, 'original_size') }}
               {{đoạn_title}}
               {{đoạn_văn}}
            </div>
     {% endfor %}
    </div>
{% khối cuối %}

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.