Как сделать видимым для анонимов опции, доступные авторизованным?

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

Аватар пользователя Puzzle Puzzle 29 октября 2010 в 0:03

Подскажите, пожалуйста, если кто знает.

Очень бы хотелось сделать видимым для анонимных пользователей функционал, который является доступным лишь для авторизованных. А при попытке им воспользоваться предлагалась бы форма авторизации/регистрации.

Буду благодарен за подсказку!

Комментарии

Аватар пользователя Puzzle Puzzle 29 октября 2010 в 10:56

Не, не то. Как раздача прав не подходит.

А как сделать так, чтобы те, у кого нет прав, все равно видели существующий функционал, понимали, что сайт его предоставляет, что это интересно, и хотели бы им воспользоваться.
А когда они пытаются совершать какие-либо из этих действий, выводилось бы не стандартное друпаловское: "Доступ запрещён. У вас нет прав доступа к этой странице.", а приглашение зарегистрироваться.

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 29 октября 2010 в 12:13

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

Аватар пользователя Puzzle Puzzle 29 октября 2010 в 20:07

Хотел сделать через Rules, но не смог указать условия...

В качестве события выбираю "пользователь собирается просмотреть страницу"

1-ое условие: пользователь анонимный.

А как устроить проверку адреса, ту ли страницу собирается просмотреть пользователь, вообще не понимаю. Это можно как-то без программирования сделать?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 29 октября 2010 в 20:56

Адреса смотреть через arg(), что предполагает кое-какое программирование на уровне церковно-приходской школы вроде

<?php
if (arg(0) == 'ляля') {
return 
TRUE;
}

?>

В рулесах есть запуск действия по ПХП коду