Сегодня 17 ноября, воскресенье ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7276
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Не только о покере
Не только о покере
Голосов: 1
Адрес блога: http://leonidovich.net
Добавлен: 2010-11-10 21:24:24
 

Работа с сущностями с помощью Entity metadata wrappers

2016-12-28 21:13:08 (читать в оригинале)

Создание враппера для ноды по её nid

$node_wrapper = entity_metadata_wrapper('node', $nid);

Вторым параметром можно передать объект ноды

$node_wrapper = entity_metadata_wrapper('node', $node);  

Получить значение свойства

$nid = $node_wrapper->nid->value();

// или

$node_wrapper->getIdentifier();

$title = $node_wrapper->title->value();  

 

Получить значение свойства, пропущенного через check_plain()

$title = $node_wrapper->title->value(array('sanitize' => TRUE));  

Получить значение поля

$field_value = $node_wrapper->field_name->value();  

Получить первое значение multiple-value поля

$field_value = $node_wrapper->field_name[0]->value();  

Получить значение составного поля

if ($node_wrapper->body->value()) {
  $teaser = $node_wrapper->body->summary->value();
  $body = $node_wrapper->body->value->value();
}  

Получить первое значение составного multiple-value поля

if ($node_wrapper->field_tags->value()) {
  $first_tag_name = $node_wrapper->field_tags[0]->name->value();
}  

Получить значение поля для определённого языка

$field_value = $node_wrapper->language('ru')->field_name->value();  

Обойти значения multiple-value поля

foreach ($node_wrapper->field_tags as $tag_wrapper) {
  $tid = $tag_wrapper->tid->value();
  $tag_name = $tag_wrapper->name->value();
}  

Получить значение свойства у связанной сущности

$author = $node_wrapper->author->name->value();

$author_email = $node_wrapper->author->mail->value();

$author_roles = $node_wrapper->author->roles->optionsList();

$image_url = $node_wrapper->field_image->file->url->value();  

Изменить свойство

$node_wrapper->title = 'New title' $node_wrapper->save();  

Изменить свойство у связанной сущности

$node_wrapper->author->mail = 'newmail@gmail.com';

$node_wrapper->author->save();  

Изменить поле

$node_wrapper->field_text = 'New value';

$node_wrapper->field_term = 123;

$node_wrapper->save();  

Удалить значения поля

$node_wrapper->field_image->set(NULL);  

Удалить одно значение multi-value поля

$node_wrapper->field_image[0]->set(NULL);  

Проверить наличие поля у бандла (не наличие значения поля, а именно существование поля у конкретного бандла)

if (isset($node_wrapper->field_name)) { ... }  

Отличить single-value поле от multi-value

if ($node_wrapper->field_name instanceof EntityListWrapper) {Поле multi-value } else {Поле single-value }  

Получить список доступных свойств

$node_properties = $node_wrapper->getPropertyInfo();

$body_properties = $node_wrapper->body->getPropertyInfo();  

Получить список доступных свойств у определённого типа сущности

$node_properties = entity_get_property_info('node');

источник


Тэги: laravel

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»
Изменения рейтинга
Категория «Блогосфера»
Взлеты Топ 5
+1241
1261
Robin_Bad
+1175
1263
Futurolog
+1090
1094
MySQL Performance Blog
+1028
1098
Ksanexx
+1023
1097
Refinado
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.