Drupal 7. Entitas dan Bundel - Panduan Lengkap dengan Contoh menggunakan Pembungkus Metadata Entitas

API Entitas Drupal 7 menyediakan modul Entity Metadata Wrapper (EMW), yang merupakan pembungkus di sekitar entitas Drupal yang memungkinkan manipulasi dan pengambilan properti dan bidang entitas dengan mudah

Berikut adalah beberapa contoh cara menggunakan EMW pada bundel node

  1. Ambil judul node
$node = node_load(1);
$wrapper = entity_metadata_wrapper('node', $node);
$title = $wrapper->title->value();
  1. Tetapkan nilai baru untuk judul node
$node = node_load(1);
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->title->set('New Title');
$wrapper->save();
  1. Muat bidang bundel khusus
$my_bundle = entity_load('my_bundle',1);
$wrapper = entity_metadata_wrapper('my_bundle', $my_bundle);
$field_value = $wrapper->field_custom->value();
  1. Tetapkan nilai bidang khusus paket khusus
$my_bundle = entity_load('my_bundle',1);
$wrapper = entity_metadata_wrapper('my_bundle', $my_bundle);
$wrapper->field_custom->set('New Value');
$wrapper->save();

Perhatikan bahwa argumen pertama yang diteruskan ke fungsi entity_metadata_wrapper() adalah tipe entitas, dalam hal ini "node" atau "my_bundle" dan argumen kedua adalah objek entitas aktual

Cara drupal 7 bundel entitas_metadata_wrapper dengan Contoh
// Unified way of getting $node->title, $user->name, ...
$wrapper->label();

// Unified way of getting $node->nid, $user->uid, ...
$wrapper->getIdentifier();

// Unified way of getting $node->type, ...
$wrapper->getBundle();

Apa itu pembungkus metadata di Entity Framework?

Pembungkus metadata memberi kami cara yang konsisten untuk mendapatkan informasi semacam ini untuk entitas apa pun. Untuk memanfaatkan informasi (metadata) ini, modul menyediakan beberapa kelas pembungkus yang memudahkan mendapatkan dan menetapkan nilai. Untuk membungkus objek entitas Anda dapat menggunakan fungsi prosedural (seperti di bawah)

Bagaimana cara membungkus objek entitas dalam Entity Framework?

Untuk membungkus objek entitas Anda dapat menggunakan fungsi prosedural (seperti di bawah). Atau sejak API Entitas 7. x-1. 6, Anda juga dapat menggunakan Entitas. pembungkus(). Namun ini hanya berfungsi jika objek $entity menggunakan kelas Entity yang disediakan oleh modul API Entity

Apa yang dilakukan oleh Modul API entitas yang dikontribusikan?

Modul API Entitas yang dikontribusikan menyediakan kelas pembungkus yang mempermudah penanganan nilai properti dan bidang entitas

Apa itu label di Drupal?

Semua entitas Drupal memiliki semacam label. Sebuah string yang dapat dianggap sebagai nama entitas kanonis yang dapat dibaca manusia. Semua node memiliki properti judul dan semua akun pengguna memiliki properti nama