Я создаю подключаемый модуль поля пользовательских представлений, и у меня есть огромное количество уведомлений в dblog, которые я не могу отследить.
Это простой плагин поля представлений, который просто отображает некоторый контент в специальном поле «не db» в представлении.
Проблема № 1 заключается в том, что в представлении поле отображается как «:» (группа полей и имя поля не отображаются в представлении).
Во-вторых, я получаю эти уведомления в dblog Примечание: попытка доступа к смещению массива для значения типа null в Drupal\views\Plugin\views\HandlerBase->adminLabel() (строка 159 файла /home/jfurnas/sites/lms/docroot/core/modules/views/src/ Плагин/представления/HandlerBase.php)
Эти ошибки появляются только в том случае, если я нахожусь в пользовательском интерфейсе представлений для управления представлением. Если я регулярно просматриваю представление, оно не помещает ошибки в dblog.
Я определяю поле таким образом, в моем файле my_module.views.inc
функция request_system_views_data() {
$data['lms_request']['request_system_quick_edit'] = [
'title' => t('Запрос на быстрое редактирование'),
'help' => t('Информация о запросе быстрого редактирования'),
'группа' => 'Запрос LMS',
'поле' => [
'title' => 'Запрос на быстрое редактирование',
'id' => 'request_system_quick_edit',
],
];
}
Где «lms_request» — это имя машины пользовательского объекта в системе, а мой класс fieldplug определяется следующим образом:
<?php
пространство имен Drupal\request_system\Plugin\views\field;
используйте Drupal\views\Plugin\views\field\FieldPluginBase;
используйте Drupal\views\ResultRow;
используйте Drupal\Core\Form\FormStateInterface;
используйте Drupal\Core\Url;
/**
* Предоставляет обработчик полей быстрого редактирования.
*
* @ViewsField("request_system_quick_edit")
*
* @DCG
* Плагин должен быть назначен определенному столбцу таблицы через
* hook_views_data() или hook_views_data_alter().
* Для несуществующих столбцов (т.е. вычисляемых полей) необходимо переопределить
* метод self::query().
*/
класс QuickEdit расширяет FieldPluginBase {
/**
* {@inheritdoc}
*/
запрос публичной функции () {
возвращаться [];
}
// /**
// * {@inheritdoc}
// */
общедоступная функция defineOptions() {
возвращаться [];
}
// /**
// * {@inheritdoc}
// */
общедоступная функция buildOptionsForm(&$form, FormStateInterface $form_state) {
родитель::buildOptionsForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
публичная функция рендеринга (ResultRow $values) {
$сущность = $значения->_сущность;
$сборка['#кэш'] = [
'максимальный возраст' => 0
];
$сборка['request_information'] = [
'#markup' => 'Запрос информации для запроса # '. $сущность->идентификатор(),
];
вернуть $сборку;
}
}
Я не уверен, в чем может быть проблема. Аналогичным образом я определяю другие настраиваемые поля в системе.
и они не вызывают те же проблемы.