Перейти к основному содержанию

entity

Настраиваемый список значений поля автодополнение в поле типа Entity Reference

Отправлено said от чт, 07/13/2017 - 10:42

Алгоритм действий

1. Устанавливаем модуль entityreference_view_widget
2. Создаю представление нужного типа (нода, если в поле автодополнения нужно выбирать ноду, либо пользователь и т.п.). В это представлении создаю display Entity Reference
3. Создаю поле типа Entity Reference и в его настройках включаю режим views

 

Теги

Присоединение поля из любой сущности к кастомной форме

Отправлено said от ср, 07/05/2017 - 12:05
function  mymodule_custom_form($form, $form_state) {
  $node = new stdClass();
  // тип материала с которого берется поле
  $node->type = 'claim';

  // подготавливаю массив поля в форме
  $form['uc_product_image'] = array();
  // присоединяю поле uc_product_image со всеми настройками, 
  // так как бы оно было при создании нового материала типа claim
  field_attach_form('node', $node, $form['uc_product_image'], $form_state, NULL, array(
    'field_name' => 'uc_product_image'
  ));

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' =>

Программное создание сущности при помощи entity_metadata_wrapper

Отправлено said от ср, 04/12/2017 - 12:53

Создание термина таксономии

$data = array(
  'name' => 'имя теримна',
  'vid' => GM_VID,
  'description' => 'Описание',
);
$term = entity_create('taxonomy_term', $data);
$wrapper = entity_metadata_wrapper('taxonomy_term', $term);
$wrapper->save();

// теперь сохраняю поля
$wrapper->field_some_field = 'data';
$wrapper->save();

Создание ноды с коллекцией полей

Получение и обновление значений сущности через entity_metadata_wrapper

Отправлено said от чт, 02/02/2017 - 10:38

Приемы работы с entity_metadata_wrapper

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

// вывод свойства сущности
print $wrp->title->value();

// Изменить значение поля
$wrp->field_file->file->set($fid);

 

Теги

Entity metadata wrapper проверка пустого значения

Отправлено said от пт, 02/12/2016 - 15:59

Штатных варианто проверки существования значения в сущности не нашел. Использую try catch
 

try {
    print $node_wrp->field_description_top->value->value();
} catch (Exception $e) {
    /...
}

или вот так

$value = $wrapper->__isset('field_name') ? $wrapper->field_name->value() : '';

 

Теги