Обертки метаданных сущностей
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));
получить очищенный заголовок узла. Когда свойство уже возвращено очищенным по умолчанию, как и тело узла, возможно, требуется получить необработанные данные так, как они будут отображаться в браузере для других вариантов использования. Для этого можно включить опцию «decode», которая гарантирует, что для любых очищенных данных теги удаляются, а объекты 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