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

field

Настраиваемый список значений поля автодополнение в поле типа 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' =>

Jquery плагин - дополнение значения в поле нестираемым плейсхолдером

Отправлено said от ср, 02/01/2017 - 17:14

Плагин позволяющий сделать плейсхолдер на текстовое поле, например для ввода домена 3 уровня: yoursite.domain.com

Теги

Загрузка managed_file в форму настроек system_settings_form

Отправлено said от вт, 08/23/2016 - 17:54

Обработчик формы настроек сохраняет файл, но не ставит ему статус FILE_STATUS_PERMANENT, кроме того не удаляет файл, если он был удален в форме. Поэтому приходится самостоятельно писать соответствующий обработчик.

Пример формы настроек

Теги

Получение значения поля типа Список

Отправлено said от чт, 07/28/2016 - 10:54

Получение значения поля типа список делается при помощи двух строк

$field = field_info_field('my_field_name');
$values = list_allowed_values($field);

А это функция на случай необходимости получения значения спискового поля в разных частях кода

function _mymodule_list_field_value($field, $key) {
    $field = field_info_field($field);
    $values = list_allowed_values($field);
    return isset($values[$key]) ? $values[$key] : NULL;
}

 

Теги

Обновление полей ноды без вызова hook_node_update

Отправлено said от вт, 04/12/2016 - 17:31

Иногда требуется обновить поля ноды, после ее сохранения пользователем.

Если использовать hook_node_update и в нем вызвать node_save произойдет зацикливание скрипта. Чтобы этого не происходило мы вместо node_save используем field_attach_update

Теги