Вы здесь

Интеграция модуля Datetime Range с видами

В ветку Друпал 8.6.х внесено изменение, которое интегрирует модуль диапазона дат с видами. Модуль Datetime Range теперь полностью интегрирован с видами, наравне с модулем Datetime. Существующие виды использующие поля Datetime Range, используют стандартный строковый плагин, а новая интеграция позволит использовать плагин Datetime. Запуск обновления базы данных обновит эти виды, после чего они станут вести себя как виды с полями Datetime.

Информация об обновлении

Обновление конвертирует существующие операторы/значения строкового плагина видов datetime_range в datetime в соответствии с этим списком:

  • Строковый оператор Is equal to (=) будет преобразован в оператор datetime Is equal to (=) — значение не изменится
  • Строковый оператор Is not equal to (!=) будет преобразован в оператор datetime Is not equal to (!=) — значение не изменится
  • Строковый оператор Does not contain (not) будет преобразован в оператор datetime Is not equal to (!=) — значение не изменится
  • Строковый оператор Starts with (starts) будет преобразован в оператор datetime Regular expression (regular_expression) — значение получит префикс ^
  • Строковый оператор Ends with (ends) будет преобразован в оператор datetime Regular expression (regular_expression) — значение получит суффикс $
  • Строковый оператор Is empty (empty) будет преобразован в оператор datetime Is empty (empty) — значение не изменится
  • Строковый оператор Is not empty (not empty) будет преобразован в оператор datetime Is not empty (not empty) — значение не изменится
  • Любые другие операторы (contains, word, allwords, not_starts, not_ends, shorterthan, longerthan, regular_expression) будут указывать на regular_expression — значение не изменится если существует, если нет, то получит значение *.

Веб-мастерам следует проверить затронутые виды и корректность их работы. Разработчикам использующим поля datetime_range в своих модулях следует обновить конфигурацию и/или код.

Изменения в интерфейсе

До:

Интеграция модуля Datetime Range с видами

После:

Интеграция модуля Datetime Range с видами

Изменения в API

datetime_type_field_views_data_helper() is a new API helper to integrate datetime views plugins easily for any datetime-based fields. Modules defining custom datetime-based fields can now integrate with Views and benefit of datetime plugins easily.

Пример использования в core/modules/datetime_range/datetime_range.views.inc:

/**
* Implements hook_field_views_data().
*/
function datetime_range_field_views_data(FieldStorageConfigInterface $field_storage) {
  \Drupal::moduleHandler()->loadInclude('datetime', 'inc', 'datetime.views');

  // Get datetime field data for value and end_value.
  $data = datetime_type_field_views_data_helper($field_storage, [], 'value');
  $data = datetime_type_field_views_data_helper($field_storage, $data, 'end_value');

  return $data;
}