Например нужно спрятать поле field_secret
для анонимных пользователей в представлении myview
дисплея page_1
:
Drupal 8+
/**
* Implements hook_views_pre_build().
*/
function mymodule_views_pre_build(\Drupal\views\ViewExecutable $view): void {
if (
$view->id() == 'myview' &&
$view->current_display == 'page_1' &&
\Drupal::currentUser()->isAnonymous()
) {
$view->field['field_secret']->options['exclude'] = TRUE;
}
}
Drupal 7, Views 3
/**
* Implements hook_views_pre_render().
*/
function mymodule_views_pre_render(&$view) {
if (
$view->name == 'myview' &&
$view->current_display == 'page_1' &&
user_is_anonymous()
) {
$view->field['field_secret']->options['exclude'] = TRUE;
}
}
Drupal 6, Views 2
/**
* Implements hook_views_pre_render().
*/
function mymodule_views_pre_render(&$view) {
if (
$view->name == 'myview' &&
$view->current_display == 'page_1' &&
user_is_anonymous()
) {
unset($view->field['field_secret']);
}
}
Написанное актуально для
Views 2, Views 3
Похожие записи
- Views сортировка по выражению/условию/формуле
- Необязательное значение одной из дат в раскрытом фильтре с оператором BETWEEN
- Как расширить функционал фильтр-плагина Views? (добавляем возможность фильтровать числовые поля по нескольким значениям)
- Как работает опция "Aggregation type" в настройках полей Views при включённой агрегации
- AJAX в форме корзины Commerce 2
Комментарии
А как можно во вьюхе показать поле по условию, например если значение поля 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.
спасибо за информацию!
Подскажите, пожалуйста, а как подобным образом спрятать сортировку?
Добавить комментарий