Подскажите, пожалуйста, если кто знает.
Очень бы хотелось сделать видимым для анонимных пользователей функционал, который является доступным лишь для авторизованных. А при попытке им воспользоваться предлагалась бы форма авторизации/регистрации.
Буду благодарен за подсказку!
Комментарии
/admin/user/permissions тут вроде как..
Не, не то. Как раздача прав не подходит.
А как сделать так, чтобы те, у кого нет прав, все равно видели существующий функционал, понимали, что сайт его предоставляет, что это интересно, и хотели бы им воспользоваться.
А когда они пытаются совершать какие-либо из этих действий, выводилось бы не стандартное друпаловское: "Доступ запрещён. У вас нет прав доступа к этой странице.", а приглашение зарегистрироваться.
В таком случае вам придется отказаться от стандартных возможностей Друпал назначения прав по ролям.
В разрешениях функцию делаете доступной для всех, а уже внутри нее проверяете роль пользователя. Если аноним - выдаете приглашение регистрации, если зарегистрированный - предоставляете требуемый функционал.
Спасибо, хорошая идея! Надо подумать над этим...
Хотел сделать через Rules, но не смог указать условия...
В качестве события выбираю "пользователь собирается просмотреть страницу"
1-ое условие: пользователь анонимный.
А как устроить проверку адреса, ту ли страницу собирается просмотреть пользователь, вообще не понимаю. Это можно как-то без программирования сделать?
Адреса смотреть через arg(), что предполагает кое-какое программирование на уровне церковно-приходской школы вроде
<?php
if (arg(0) == 'ляля') {
return TRUE;
} ?>
В рулесах есть запуск действия по ПХП коду