[решено] не показывать блок определенным ролям

Главные вкладки

Аватар пользователя gerboss gerboss 15 марта 2011 в 19:28

понимаю, что вопрос простой, решается через "Показать, если данный PHP-код возвращает TRUE (PHP-режим, только для экспертов)." просто туплю в написании условия для кода проверки условия.
нужно НЕ показывать блок, если у пользователя есть определенная роль

Комментарии

Аватар пользователя Andruxa Andruxa 15 марта 2011 в 19:53

Хм, "Показать, если данный PHP-код возвращает TRUE" вроде бы относится к видимости блока на определенных страницах.

А немного выше есть "Показать блок определенным ролям:"
может, там просто выключить те роли, которым его не надо показывать?

Аватар пользователя vadim_ vadim_ 15 марта 2011 в 20:04

<?php
global $user;
if (!in_array('Роль, которой не показывать', $user->roles)) return true;
return false;
?>

Либо как сказано выше, отметить галочками все роли, которым показывать, и не отмечать роль, которой не показывать, соответственно.

Аватар пользователя gerboss gerboss 15 марта 2011 в 20:13

что б использовать "Показать блок определенным ролям:" нужно, что бы у пользователей была еще одна роль, кроме "зарегистрированный пользователь" и уже этой ролью "управлять" видимостью блока. а для этого нужно:
сперва создать роль
прописать эту роль всем пользователям (как?)
снять эту роль у тех, кому не показывать блок
добавить модуль, который при регистрации новых пользователей будет назначать им эту роль
...

через "Показать, если данный PHP-код возвращает TRUE" как раз и настраивается видимость, если PHP-код возвращает TRUE
т.е. если PHP-код проверяет отсутствие нужной роли у пользователя, то показывает блок на всех страницах

vadim_, пасиб, буду пробовать условие