Drupal 8 hook_field_views_data error Неопределенный индекс: таблица - PullRequest
0 голосов
/ 02 мая 2018

Я пишу пользовательский модуль с поддержкой отношения просмотра к пользовательской таблице.

Я успешно добавил отношения через hook_field_views_data в moduleName.view.inc

function easyme_field_views_data(FieldStorageConfigInterface $field_storage) {
  $data = views_field_default_views_data($field_storage);
  foreach ($data as $table_name => $table_data) {
    $data[$table_name][$field_storage->getName() . '_value']['relationship'] = [
      'group'      => 'EasyMe',
      'id'         => 'standard',
      'base'       => 'easyme_event',
      'base field' => 'event_id',
      'label'      => t('EasyMe event from @field_name', ['@field_name' => $field_storage->getName()]),
    ];
  }
}

Когда я пробую это в представлении и сохраняю, я получаю эту ошибку:

Notice: Undefined index: table in Drupal\views\Plugin\views\relationship\RelationshipPluginBase->calculateDependencies()

У кого-нибудь есть решение для этого?

И в том же модуле я также добавляю фильтры для просмотра в moduleName.module

function easyme_views_data_alter(&$data) {
  $data['views']['easysme_event_start_date'] = [
    'title'  => t('EasyMe event start date'),
    'help'   => t('Filter the view by EasyMe event start date.'),
    'filter' => [
      'group' => 'EasyMe',
      'id'    => 'easyme_start_date_filter',
    ],
  ];
  $data['views']['easysme_event_end_date']   = [
    'title'  => t('EasyMe event end date'),
    'help'   => t('Filter the view by EasyMe event end date.'),
    'filter' => [
      'group' => 'EasyMe',
      'id'    => 'easyme_end_date_filter',
    ],
  ];
}

Как сделать так, чтобы фильтры отображались только в том случае, если было добавлено указанное выше отношение?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...