Apa yang saya instal di situs saya adalah modul Entity API dan Entityform. Modul Entityform memungkinkan saya untuk membuat formulir yang dapat dikirimkan oleh pengguna mana pun dan bidang formulir tersedia untuk saya gunakan dalam tampilan, mirip dengan cara kerja jenis konten.
Biasanya untuk menarik nilai bidang dari sebuah node ke template saya dengan php saya akan melakukan hal berikut:
<?php echo $node->field_name[$node->language][0]['value']; ?>
Namun ini tidak berfungsi dengan bentuk entitas / entitas.
Apakah ada yang tahu cara untuk melakukan ini untuk bidang dalam formulir entitas? Beberapa orang menyarankan untuk menggunakan fungsi devel dan dpm () tapi saya tidak tahu bagaimana menggunakannya.
Beberapa contoh spesifik tentang bagaimana saya bisa mendapatkan nilai bidang ini akan sangat membantu saya.
:)
Tanpa menggunakan modul Entity API, untuk mendapatkan nilai bidang yang dikaitkan dengan entitas, Anda menggunakan field_get_items () ; Anda baru saja melewati jenis entitas, objek entitas, dan nama bidang.
Misalnya, untuk mendapatkan isi komentar, Anda menggunakan kode berikut.
Untuk mendapatkan tubuh simpul, Anda bisa menggunakan kode berikut.
Objek entitas adalah objek yang dikembalikan dari entity_load () , atau fungsi pemuatan khusus untuk entitas itu, seperti node_load () , comment_load () , atau taxonomy_term_load () . Di Drupal 8, fungsi-fungsi itu untuk pembungkus
entity_load()
.Jika Anda ingin menampilkan konten bidang, maka Anda harus menggunakan field_view_field () .
sumber
Anda biasanya dapat memperoleh properti $ node karena Anda atau beberapa kode yang Anda gunakan memanggil node_load () sebelumnya.
Anda perlu memuat entitas sepenuhnya sebelum Anda bisa mendapatkan properti itu.
Gunakan entity_load () http://api.drupal.org/api/drupal/includes%21common.inc/function/entity_load/7
Maka Anda benar-benar akan memiliki objek entitas yang dimuat yang bisa Anda dapatkan di bidang.
Menggunakan dpm () sama dengan fungsi lainnya, Anda hanya perlu menginstal modul devel.
Jadi, lakukan sesuatu seperti ini:
sumber
Mencoba:
Ini harus mencetak nilai bidang.
Jika sebuah array coba ini:
Ingat bahwa ini adalah output mentah dan, tergantung dari mana nilai tersebut berasal, Anda mungkin harus membersihkan nilai secara manual di sini.
Lihat: function field_get_items
sumber
Tempatkan ini di dalam salah satu modul Anda dan buka halaman formulir dan Anda akan menemukan info yang Anda cari.
sumber
Daripada menggunakan dpm dan menginstal modul itu saya menggunakan:
Semoga ini akan membantu Anda menggali nilainya.
sumber