Pembungkus metadata entitas
API entitas menyediakan beberapa kelas wrapper yang dapat Anda gunakan untuk menangani entitas dengan mudah dan untuk meningkatkan modul informasi properti entitas yang disediakan. Dengan bantuan pembungkus Anda dapat mengakses informasi properti, mengulangi properti yang diketahui, atau hanya mendapatkan / mengatur nilai data yang dijelaskan, dll.
Ini adalah beberapa contoh penggunaan sederhana seperti yang ditemukan dalam README:
Untuk memanfaatkan informasi ini (metadata) modul menyediakan beberapa kelas pembungkus yang memudahkan untuk mendapatkan dan menetapkan nilai. Wrapper mendukung penggunaan berantai untuk mengambil pembungkus properti entitas, misalnya untuk mendapatkan alamat email pembuat simpul yang bisa digunakan:
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->author->mail->value();
Untuk memperbarui alamat email pengguna, seseorang dapat menggunakan
$wrapper->author->mail->set('sepp@example.com');
atau
$wrapper->author->mail = 'sepp@example.com';
Pembungkus selalu mengembalikan data seperti yang dijelaskan dalam informasi properti, yang dapat diambil langsung melalui entity_get_property_info () atau dari pembungkus:
$mail_info = $wrapper->author->mail->info();
Untuk memaksa mendapatkan nilai tekstual yang disanitasi untuk output yang dapat digunakan, misalnya
$wrapper->title->value(array('sanitize' => TRUE));
untuk mendapatkan judul simpul yang disanitasi. Ketika sebuah properti sudah kembali disterilkan secara default, seperti badan simpul, seseorang mungkin ingin mendapatkan data yang tidak dibersihkan seperti yang akan muncul di browser untuk kasus penggunaan lainnya. Untuk melakukannya, seseorang dapat mengaktifkan opsi 'decode', yang memastikan untuk setiap data yang disanitasi, tag-tag dilucuti dan entitas HTML di-decode sebelum properti dikembalikan:
$wrapper->body->value->value(array('decode' => TRUE));
Dengan begitu orang selalu mendapatkan data seperti yang ditunjukkan kepada pengguna. Namun, jika Anda benar-benar ingin mendapatkan nilai mentah, tidak diproses, bahkan untuk data tekstual yang sudah disanitasi, Anda dapat melakukannya melalui:
$wrapper->body->value->raw();
Lebih banyak contoh:
$wrapper->body->set(array('value' => "content"));
$wrapper->field_text[0] = 'the text';
$wrapper->field_text[0]->set(array('value' => "content"));
$wrapper->field_text2->summary = 'the summary';
$wrapper->field_text2->value = 'the text';
$wrapper->save();
$wrapper->delete();
Lebih banyak dokumen : http://drupal.org/node/1021556