Drupal → Как для определённой роли спрятать колонку или поле в представлении 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']); } }
Комментарии
А как можно во вьюхе показать поле по условию, например если значение поля TITLE равно TEST, тогда поле BODY не показывай
переопределите шаблон поля
или модуль https://drupal.org/project/views_conditional попробуйте
Здравствуйте, скажите пожалуйста, хочу во вьюхе переопределить выводного одного из полей, т.о. скопировал tpl.php файл в темплэйт у темы, и переименовал его в нужное имя.
Смысл переопределения заключается в том, что мне нужно чтобы вьюха вывела только первое значение этого поля, все остальные пропускала
Xandeadx, спасибо.
($GLOBALS['user']->roles[1])
Помогаете не первый раз
Прошу помощи.
В представлении выводятся два exposed фильтра. Для одного из значений первого фильтра нужно спрятать второй фильтр.
Нижеприведенный код, к сожалению, результата не дал:
На входе в функцию, $view->field содержит только одно поле - 'title'
Оказывается фильтр это не поле :(
Скрыть вывод фильтра удалось в hook_views_pre_build(&$view), выполнив
unset( $view->filter['field_region_value']);
Сейчас другая проблема, не получается узнать текущее значение первого фильтра в hook_views_pre_build.
спасибо за информацию!
Оставить комментарий