Метод работает не только с ролями, но и любой другой логикой, которую вы в силах реализовать в коде.
Нам понадобится 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 24, 2024 г.
Пример кода работы с entityQuery и Entity API.
В данном примере мы пройдемся по синонимам терминов таксономии и произведем простую замену или создадим новый синоним согласно установленному в системе шаблону.
В 8ке синонимы (path_alias) - это ...
Читать
Июль 14, 2023 г.
Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне?
Например, возьмем штатный шаблон file-link.html.twig:
[crayon-69cd8c184f90e842993367/]
Используем фильтр merge, добавляя нужные атрибуты:
[crayon-69cd8c184f916621726516/]
Читать
Август 16, 2023 г.
Многие стандартные шаблоны в Drupal содержат вывод переменной пользователя (user), что делает возможным реализацию различной логики, в том числе и проверку роли пользователя.
Например, вы желаете показывать какой-то элемент шаблона, только для ...
Читать
Май 11, 2023 г.
См. основной материал для введения.
Форма в нашем случае не требует отправки/проверки данных, и реализует только два метода - getFormId и buildForm.
Хотя форма и не содержит кнопки submit, но все равно будет реагировать на отправку данных, поэтому ...
Читать