Индивидуальное оформление страницы ввода логина и пароля

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

Аватар пользователя volkodav87 volkodav87 21 марта 2012 в 11:45

Здравствуйте
1)Необходимо сделать страницу ввода Логина и Пароля отличной от оформления основного содержания сайта. Она должна быть графицески оформлена как главная страница http://surfingbird.ru/. Т.е. на ней надо оставить лишь поля для ввода логина и пароля, кнопку пергистрации. Графицеское оформление -одна кортинка ка фон и кусок текста с приветствием.
2) Необходимо, чтобы любой пользователь заходя на сайт попадал на эту страницу и либо регистрировался или вводил логин и пароль.

Для первого если я правильно понимаю, я должен создать в теме отдельный файл шаблона page_user_login.tpl.php и сделать перенаправление при входе на этот шаблон (в шаблоне отключить все модуля кроме ввода логина и пароля), но как это сделать непонятно?

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

Комментарии

Аватар пользователя ecofish ecofish 21 марта 2012 в 20:37

Создайте файл 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. Очистите кэш и заходите на сайт как гость.

Аватар пользователя Pesochek Pesochek 24 января 2013 в 21:33

Помогите пожалуйста! Все сделал как у вас написано, но у меня выводит ошибку , что делать?

"The path 'mymodule_frontpage' is either invalid or you do not have access to it."
""Mymodule_frontpage" Путь является либо недействительным или вы не имеете к нему доступа."