Как для определённой роли спрятать колонку или поле в представлении Views

Например нужно спрятать поле field_secret для анонимных пользователей (id роли: 1) в представлении myview дисплея page_1:

Views 3
/**
 * Implements hook_views_pre_render().
 */
function mymodule_views_pre_render(&$view) {
  if (
    $view->name == 'myview' &&
    $view->current_display == 'page_1' &&
    isset($GLOBALS['user']->roles[1])
  ) {
    $view->field['field_secret']->options['exclude'] = TRUE;
  }
}

Views 2
/**
 * Implements hook_views_pre_render().
 */
function mymodule_views_pre_render(&$view) {
  if (
    $view->name == 'myview' &&
    $view->current_display == 'page_1' &&
    isset($GLOBALS['user']->roles[1])
  ) {
    unset($view->field['field_secret']);
  }
}

Написанное актуально для
Views 2, Views 3
Теги:
views, views api, разграничение доступа
Добавлено: 29 Июля 2018 22:46:15 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...