Обгортки метаданих особи
API сутності надає деякі класи обгортки, які ви можете використовувати для легкого спілкування з об'єктами та для використання наданих модулів інформації про властивості сутності. За допомогою обгортки ви можете отримати доступ до інформації про властивості, перевести цикл на відомі властивості або просто отримати / встановити описані значення даних тощо.
Ось кілька простих прикладів використання, знайдених у програмі README:
Для використання цієї інформації (метаданих) модуль надає кілька класів обгортки, які полегшують отримання та встановлення значень. Обгортка підтримує ланцюгове використання для отримання обгортки властивостей об'єкта, наприклад, щоб отримати електронну адресу автора вузла, яку можна використовувати:
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->author->mail->value();
Для оновлення поштової адреси користувача можна було б скористатися
$wrapper->author->mail->set('sepp@example.com');
або
$wrapper->author->mail = 'sepp@example.com';
Обгортки завжди повертають дані, як описано в інформації про властивості, які можуть бути отримані безпосередньо через entity_get_property_info () або з обгортки:
$mail_info = $wrapper->author->mail->info();
Для того, щоб змусити отримувати текстове значення, деанімоване для виводу, можна використовувати, наприклад
$wrapper->title->value(array('sanitize' => TRUE));
щоб отримати санізований заголовок вузла. Коли властивість уже повертається за замовчуванням, як і тіло вузла, можливо, хоче отримати несанітовані дані, як це було б у браузері для інших випадків використання. Для цього можна ввімкнути опцію 'декодування', яка забезпечує для будь-яких санізованих даних теги позбавлені та HTML-об'єкти розшифровуються перед поверненням властивості:
$wrapper->body->value->value(array('decode' => TRUE));
Таким чином завжди можна отримувати дані, як показано користувачеві. Однак якщо ви дійсно хочете отримати необроблене, необроблене значення, навіть для санітарних текстових даних, це можна зробити за допомогою:
$wrapper->body->value->raw();
Більше прикладів:
$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();
Більше документів : http://drupal.org/node/1021556