og_sm-8.x-1.0/og_sm.views.inc

og_sm.views.inc
<?php

/**
 * @file
 * Views hooks.
 */

use Drupal\field\FieldStorageConfigInterface;

/**
 * Implements hook_field_views_data_alter().
 */
function og_sm_field_views_data_alter(array &$data, FieldStorageConfigInterface $field_storage) {
  if ($field_storage->getType() !== 'og_standard_reference') {
    return;
  }

  foreach ($data as $table_name => $table_data) {
    $field_name = $field_storage->getName();
    if (!isset($table_data[$field_name])) {
      continue;
    }
    $relationship_handler = $data[$table_name][$field_name]['relationship'];

    $data[$table_name]['og_sm_sites'] = [
      'title' => t('Site'),
      'group' => $relationship_handler['group'],
      'help' => t('Filter on the site linked to the entity.'),
      'filter' => [
        'id' => 'og_sm_sites',
        'field' => 'og_audience_target_id',
      ],
    ];
    $data[$table_name]['og_sm_manageable_sites_by_current_user'] = [
      'title' => t('Manageable sites by current user'),
      'group' => $relationship_handler['group'],
      'help' => t('Filter on all sites the current user can manage.'),
      'filter' => [
        'id' => 'og_sm_manageable_sites_by_current_user',
        'field' => 'og_audience_target_id',
        'type' => 'yes-no',
      ],
    ];
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc