Bagaimana cara termudah mendapatkan gambar (jalurnya) dari jenis konten artikel yang termasuk dalam Drupal 8?
Apa yang saya miliki adalah sebuah entitas. Menggunakan $image = $node->fields['field_image']
memberi saya struktur yang sangat besar.
Apakah tidak ada cara yang lebih mudah untuk mendapatkan jalur gambar? Juga saya tidak dapat menemukan URL ini, yang saya dapatkan adalah semacam target_id (ID file?).
get_class ($node->fields['field_image'])
memberimu?file_load()
dan salah satu metode yang tersedia diDrupal\file\FileInterface
Jawaban:
Tidak melihat ini sebelumnya.
Cara terpendek untuk mendapatkan entitas yang direferensikan untuk bidang bernilai tunggal adalah ini:
Anda juga dapat menentukan delta secara eksplisit:
Ini berfungsi dengan banyak sihir ArrayAccess dan __get ().
Lihat juga lembar contekan hebat di http://wizzlern.nl/drupal/drupal-8-entity-cheat-sheet . dan https://www.drupal.org/node/1795854 dan halaman dokumentasi lainnya di sana untuk informasi lebih lanjut (masih sangat banyak pekerjaan yang sedang berjalan).
sumber
Apa yang akhirnya bekerja untuk saya di D8 adalah:
Menggunakan
kint($node->get('field_image')->entity)
dan melihat array sangat membantuKemudian dalam file ranting saya, saya menggunakan:
sumber
Jadi solusi saya adalah menggunakan metode "referencedEntities ()" yang ditemukan di objek node. Ini memberi saya array File-objek yang saya bisa mengulanginya dan menggunakan metode "url ()" dari objek file untuk mengambil jalur yang valid.
sumber
Jika simpul Anda memiliki lebih dari satu gambar, Anda dapat menggunakan ini untuk mendapatkan array dari url gambar (membantu untuk membuat modul slideshow di antara banyak hal berguna lainnya)
Array imageUrls akan menampung semua url untuk setiap gambar yang terkait dengan bidang node. Semoga ini membantu.
sumber