Скрыть поле для созданной подроли, Field Permissions не подошел.

Втр, 18/04/2017 - 13:33

У меня на сайте есть 2 стандартные роли - анонимный пользователь и пользователи, создано 4 роли - Real, Vip, Leader, Moderator. Задача - скрыть поле для ролей - Real, Vip, Leader, Moderator., покзать поле для анонимный пользователь и пользователи. В чем проблема? когда в настройках поля Field visibility and permissions выбрать те две роли анонимный пользователь и пользователи, то те другие роли Real, Vip, Leader, Moderator. тоже выбираются и не выключаются, но все таки надо скрыть поле для этих 4 ролей и показать только 2 ролям. С блоками данный вопрос решила с помощью модуля Hide Block by Role, но для полей не нашла такого модуля и потому прошу помощи Вашей.

Прикрепляю скрин

0 Спасибо

Комментарии

Аватар пользователя bumble
5 дней 9 часов назад bumble #

По умолчанию, все авторизованные пользователи имеют роль "authenticated user" ("Користувач").

Т.е. даже, если у него есть роль Real, Vip, Leader или Moderator - все права роли "Пользователь" будут им доступны, потому что пользователи других ролей - так же являются авторизованными.

Вполне вариант - создать кастомную роль для обычных пользователей, и ей назначать права.

SkySofiaK написал:
С блоками данный вопрос решила с помощью модуля Hide Block by Role

В настройках блоков, "из коробки", есть настройка отображения для ролей. Просто логику нужно организовывать с другой стороны (давать доступ определенным ролям).

Ну, и главная истина - все манипуляции с формами решаются с помощью hook_form_alter.

0 Спасибо
Аватар пользователя xakd
5 дней 9 часов назад xakd #

Роль "пользователи" - это все пользователи. Все верно у вас работает. Логика неверная

0 Спасибо
Аватар пользователя Andruxa
5 дней 8 часов назад Andruxa #

Добавьте роль New user и автоматом назначайте её зарегистрированным.
Для анонима и нового юзера - показывайте поле, остальным - нет.
При назначении ролей Real, Vip, Leader, Moderator - убирайте роль New.
Рулами, я думаю, можно это решить.

0 Спасибо
Аватар пользователя SkySofiaK
5 дней 5 часов назад SkySofiaK #

Там уже есть 5000+ человек + много настроек для них по блокам и тд, но мне пришла мысль от xakd, тоесть не показывать поля, а скрывать поля, тогда бес проблем скрываю от Real, Vip, Leader, Moderator, только нужно искать модуль который скоет поля, спасибо за обьясение вам )))

0 Спасибо
Аватар пользователя multpix
5 дней 2 часа назад multpix #
SkySofiaK написал:
Задача - скрыть поле для ролей - Real, Vip, Leader, Moderator., покзать поле для анонимный пользователь и пользователи. В чем проблема?

Это не имеет смысла.
но.. перепишите шаблон поля с условием проверкой роли текущего пользователя,
по условию и отображайте.
(побольше таких глупостей, и ваш экземпляр друпал станет неповоротливой ожиревшей хней))

SkySofiaK написал:
Там уже есть 5000+ человек + много настроек

Вобще не аргумент.
Никогда не работайте на продакшн
Пожалейте своих 5К+ людей
Они не виноваты что вы за них взялись)

0 Спасибо