În prezent construiesc un magazin comercial. De obicei, folosesc embed, entity browser și dropzone js, pentru a pune la dispoziția administratorilor magazinului o colecție de imagini de produse. De data aceasta, am folosit o colecție media Drupal ca domeniu de variație a produsului. Și acum nu știu cum să parcurg matricea fields pentru a prelua fișierul uris pentru fiecare imagine.
<div class="gallery">
{% for item in product.variation_field_product_images['#items'] %}
{% if loop.first %}
<figure class="gallery_thumb first">
<a href="{{ file_url(item.entity.uri.value) }}" data-size="1024x1024">
<img src="{{ file_url(item.entity.uri.value) }}" alt="Product Title" />
</a>
</figure>
{% else %}
<figure class="gallery_thumb">
<a href="{{ file_url(item.entity.uri.value) }}" data-size="1024x1024">
<img src="{{ file_url(item.entity.uri.value) }}" alt="Product Title" />
</a>
</figure>
{% endif %}
{% endfor %}
</div>
Codul de mai sus funcționează așa cum se dorește pentru un tip de câmp de imagine obișnuit. Dar când am setat tipul la media, fișierul uri este redat ca „necunoscut”.
{{ product.variation_field_product_images.0 }}
{{ product.variation_field_product_images.1 }}
Codul de mai sus, de exemplu, îmi dă înapoi primele două imagini redate ca etichete complete de imagine. Dar cumva nu reușesc să obțin fișierul uri dorit. Vă mulțumesc foarte mult anticipat!