Метод работает не только с ролями, но и любой другой логикой, которую вы в силах реализовать в коде.
Нам понадобится hook_views_pre_render, где мы выполним проверку и отключим не нужное нам поле представления.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
use Drupal\views\ViewExecutable; /** * Implements hook_views_pre_render. */ function MYMODULE_views_pre_render(ViewExecutable $view) { if ($view->id() == 'ИМЯ ВАШЕГО ПРЕДСТАВЛЕНИЯ') { // получим роли текущего пользователя $current_user = \Drupal::currentUser(); $roles = $current_user->getRoles(); if (!in_array('administrator', $roles)) { // и если это, например, не админ, отключим показ поля // с именем MY_VIEW_FIELDNAME unset($view->field['MY_VIEW_FIELDNAME']); } } } |
Все имена полей можно вывести, используя devel:
Drupal 9/10 модуль views
Данная запись опубликована в 31.08.2023 17:07 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 1, 2023 г.
Чтобы изменить штатный макет формы webform-submission-form.html.twig, требуется имплементация своего шаблона.
Для начала определимся с именем шаблона. ...
Читать
Май 16, 2023 г.
Вы получили код для вставки метрики, осталось дело за малым - разместить его на сайте. Сайт управляется Drupal 8/9/10.
Я покажу как это сделать через изменение темы сайта.
Первая опция - это вставить непосредственно в один из основных шаблонов ...
Читать
Октябрь 5, 2024 г.
Речь пойдет о модуле redirect, который, несмотря на свои простые функции, не всегда понятен редакторам сайта.
После установки модуля, на сайте появляется ...
Читать
Сентябрь 13, 2023 г.
Весьма распространённый случай, когда в качестве exposed filter используется поле, связанное с таксономией. Так вы получаете набор опций в фильтре для своего представления, которое доступно пользователю.
Также весьма часто некоторые дополнительные ...
Читать