Я пишу пользовательский модуль с поддержкой отношения просмотра к пользовательской таблице.
Я успешно добавил отношения через 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',
],
];
}
Как сделать так, чтобы фильтры отображались только в том случае, если было добавлено указанное выше отношение?
Заранее спасибо.