Рейтинг:0

Плагин настраиваемых представлений

флаг cn

Я создаю подключаемый модуль поля пользовательских представлений, и у меня есть огромное количество уведомлений в 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' => 'Запрос информации для запроса # '. $сущность->идентификатор(),
    ];

    вернуть $сборку;
  }

}

Я не уверен, в чем может быть проблема. Аналогичным образом я определяю другие настраиваемые поля в системе. и они не вызывают те же проблемы.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.