Метод работает не только с ролями, но и любой другой логикой, которую вы в силах реализовать в коде.
Нам понадобится 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 5, 2023 г.
Подключение скрипта или стилей "по-месту", на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости.
От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать ...
Читать
Октябрь 5, 2024 г.
Речь пойдет о модуле redirect, который, несмотря на свои простые функции, не всегда понятен редакторам сайта.
После установки модуля, на сайте появляется ...
Читать
Октябрь 25, 2023 г.
Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен.
Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...
Читать
Октябрь 24, 2024 г.
Пример кода работы с entityQuery и Entity API.
В данном примере мы пройдемся по синонимам терминов таксономии и произведем простую замену или создадим новый синоним согласно установленному в системе шаблону.
В 8ке синонимы (path_alias) - это ...
Читать