Добрый день, уважаемые!
Есть такой вопрос. Хочется сделать закрытый сайт, доступ к которому будет по инвайтам. И вот для анонимных гостей, которые на него заходят, хотелось бы показывать блок с логином, блок с текстом-описанием и всё, не считая логотипа и футера. После авторизации, естественно, всё пользователю становится вино и доступно в соответствие с его ролью и настройками доступа до модулей. Какими нехитрыми нажатиями на кнопки это можно сделать (показ двух блоков для анонимов)?
Комментарии
Первое, что пришло в голову -
В файле template.php добавляем в функцию preprocess_page или создаем ее, если еще нет:
<?php
function phptemplate_preprocess_page(&$vars) {
global $user;
if ((!$user->uid) and ($_SERVER['REQUEST_URI'] != "/user")) {header("Location: http://ogaboga.ru/user");}
}?>
меняем ogaboga.ru/user на ссылку - где будет Ваша форма регистрации с текстом ... соответственно в самом условии "/user/" меняем на хвот в этой же Вашей ссылке. Вообщем по аналогии с примером.
После обновления Друпала придётся это всё вписывать заново?
Если не измениться API препроцессинга то нет, так как файл template.php относиться к теме и не изменяеться при обновлении ядро и/или сторонних модулей
И если даже изменится, то легко отыщите новую функцию preprocess и впишите теже 2 строчки - все будет работать ...
Что вы усложняете? Ставим заглавной страницу user и все.
И что это даст? Условия то другие совершенно: требуется закрыть ресурс для анонимов намертво и дать доступ только зарегистрированным пользователям - что-то наподобие http://leprosorium.ru
Кстати пользуясь случаем - инвайт на лепру никто не подарит?
а разрешение "доступ к содержимому сайта" не катит абсолютно, чтоли?
kosilko, как в это разрешение уложится блок с текстом, который должен быть выведен на заглавной странице вместе с формой регистрации?
Кстати говоря, модулям Органик Групс, как оказалось, совершенно наплевать на разрешения, выставленные в админке - они просто показывают своё содержимое всем.
Точно так же как и страницы 403 и 404 ошибок
Разобрался, можно такой код в блоки пихать:
<?php
global $user;
if (!$user->uid){ return false; }
else {return true;}
?>
ОМГ
RxB, от вас пользы, как от лысого ёршика.
А ведь написал решение, если вы его не восприняли, то это ваша проблема
RxB, ради прикола, прочтите, что именно вы в этой теме написали в двух ответах. На "решение" это никак не тянет, увы вам. Реально мне помогли другие участники - код, который выше + разрешения, выставляемые на каждый блок + разрешения, выставляемые на доступ к модулям (опять сто мест, в которых лежат одинаковые настройки). Тема исчерпана.
Мда..
Лишь бы кодить.
Я ещё раз повторяю: ваша задача решается недолгим пребыванием на странице настройки страниц ошибок
Но не очень (с). Разбирайтесь тщательнее, тщательнее разбирайтесь.