Здравствуйте
1)Необходимо сделать страницу ввода Логина и Пароля отличной от оформления основного содержания сайта. Она должна быть графицески оформлена как главная страница http://surfingbird.ru/. Т.е. на ней надо оставить лишь поля для ввода логина и пароля, кнопку пергистрации. Графицеское оформление -одна кортинка ка фон и кусок текста с приветствием.
2) Необходимо, чтобы любой пользователь заходя на сайт попадал на эту страницу и либо регистрировался или вводил логин и пароль.
Для первого если я правильно понимаю, я должен создать в теме отдельный файл шаблона page_user_login.tpl.php и сделать перенаправление при входе на этот шаблон (в шаблоне отключить все модуля кроме ввода логина и пароля), но как это сделать непонятно?
Прошу помочь написать правильную последовательность действий,в каких файлах вносить изменеия. Если есть готовый пример, будет вообще здорово.
Комментарии
Создайте файл mymodule.module и вставьте туда код:
<?php
/**
* Implementation of hook_menu().
*/
function mymodule_menu() {
$items = array();
$items['mymodule_frontpage'] = array(
'page callback' => 'mymodule_page',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function mymodule_page() {
global $user;
module_load_include('inc', 'user', 'user.pages');
if ($user && user_access('user_view_access')) {
drupal_set_title(user_page_title($user));
return user_view($user);
}
else {
//Если хотите сделать как вконтакте, то пишите ниже return 'тектст приветствия.';
//Затем поместите блок логина в левый регион и сделайте её видимой только анонимам.
return drupal_get_form('user_login');
}
}
// эта функция нужна для замены ссылок на главную страницу
function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
global $user;
if ($user) {
if ($path == '' || $path == 'mymodule_frontpage') {
$path = 'user/' . $user->uid;
}
}
}
// редирект пользователя с ноды профиля на сам профиль пользователя
function mymodule_init() {
if ($node = menu_get_object()) {
if ($node->type == 'profile') {
drupal_goto('user/'. $node->uid);
}
}
}
?>
Если не знаете, что это такое, читайте здесь
Подключите mymodule как обычно в admin/build/modules (модуль может быть без названия).
Далее в "Информация о сайте" admin/settings/site-information установите в качестве стартовой страницы mymodule_frontpage вместо node. Очистите кэш и заходите на сайт как гость.
ecofish, спасибо за четкий и развернутый ответ, вечером попробую (сейчас на работе.)
Помогите пожалуйста! Все сделал как у вас написано, но у меня выводит ошибку , что делать?
"The path 'mymodule_frontpage' is either invalid or you do not have access to it."
""Mymodule_frontpage" Путь является либо недействительным или вы не имеете к нему доступа."
извиняюсь, разобрался:)