Есть вопрос по авторизации в админку. Как убрать автоматический переблос на страницу профиля пользователя?

Прислано: t1mm1

пн, 16/06/2008 - 07:50

Другие статьи по теме:

Как убрать автоматический переброс на страницу профиля пользователя?

то есть при авторизации автоматом перебрасывает из http://sitename[dot]ua/user на http://sitename[dot]ua/user/manager
как сделать, чтобы перебрасывало на http://sitename[dot]uа ?
собственно есть одно решение через значения массива $_SERVER , но там грубо напильником работать не очень хочется (основная трабла будет потом в том, что при попытке отредактировать профиль будет выкидывать на страницу "переназначения" )...
то есть можно вставить такой вот код на страницу index.php

if(strpos($_SERVER['REQUEST_URI'],'users/manager')) {
header('Location:'.$_SERVER['HOST_NAME']);
}
но... это слишком грубо )))))
может есть варианты с наждачкой - нулевкой по этой проблеме?))

спасибо )

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано olk в пн, 16/06/2008 - 08:12.

смотреть в сторону destination
т.е. в простейшем случае если у вас вместо ссылки
http://sitename[dot]ua/user будет стоять http://sitename[dot]ua/user?destination=sitename[dot]ua, то после авторизации вы попадете
на sitename[dot]ua


Опубликовано t1mm1 в пн, 16/06/2008 - 08:53.

спасибо за подсказку... но там я уже порылся. не могу понять каким образом друпал формирует редирект при корректной авторизации.

мне попросту надо поменять редирект при авторизации не на страницу профиля, а на хост_нэйм.
вот таке...

нашел где обрабатывается сабмит (слава Зенде=) ), но я там не увидел функции drupall_goto , которая по идее и перебрасывает куда надо через дестинейшн.
вот таке.
а резать и пилить напильником модуль - я то могу, но это до первого обновления... ((


Опубликовано olk в пн, 16/06/2008 - 09:14.

Так авторизация или регистация ? по идее после авторизации и так попадаете на главную страницу,
если регистрация то в template.php определяете функция

<?php
function phptemplate_user_register($form) {
  
$_REQUEST['destination']='бла-бла-бла';
     return 
drupal_render($form);
// или через файл user_register.tpl.php - тут можно поменять вывод формы
//   return _phptemplate_callback('user_register', array('form' => $form));
}
?>


Опубликовано t1mm1 в пн, 16/06/2008 - 09:20.

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

в тимплейт файле можно прописать переопределение функции... но какое название этой самой функции

(при регистрации возьму на заметку вами написанное, думаю пригодиться )


Опубликовано olk в пн, 16/06/2008 - 09:37.

function phptemplate_user_login($form)
или
function phptemplate_user_login_block($form) - это для входа через блок


Опубликовано t1mm1 в пн, 16/06/2008 - 09:40.

напильник и молоток делают иногда чудеса =)

в индексе прописал
if(($_SERVER['HTTP_REFERER'] == 'http://*******.ru/user') or ($_SERVER['HTTP_REFERER'] == 'http://*******.ru/user')) {
if(strpos($_SERVER['REQUEST_URI'],'users/manager') or strpos($_SERVER['REQUEST_URI'],'users/admin')) {
header('Location:../../');
}
}

пока сделал так. работает. но этож тема друпалла получается непереносима... хотя пофиг, но надо до конча доделывать начатое )

function phptemplate_user_login($form) - это переопределение функции вывода формы авторизации...
а как в ней переопределить значение action , чтобы вставить туда явно значение destination ?


Опубликовано olk в пн, 16/06/2008 - 09:45.

Ну я ж вам написал :)

<?php
      
function phptemplate_user_login($form) {
        
$_REQUEST['destination']='Ваш-сайт';
           return 
drupal_render($form);
      }

      function 
phptemplate_user_login_block($form) {
        
$_REQUEST['destination']='Ваш-сайт';
           return 
drupal_render($form);
      }
?>

Вставте это в temlate.php вашей темы
вместо 'Ваш сайт' куда редиректить
PS. Да все это дейсвительно для D5.x


Опубликовано rmcippo в пт, 10/04/2009 - 23:46.

olk написал(а):

Ну я ж вам написал :)

<?php
      
function phptemplate_user_login($form) {
        
$_REQUEST['destination']='Ваш-сайт';
           return 
drupal_render($form);
      }

      function 
phptemplate_user_login_block($form) {
        
$_REQUEST['destination']='Ваш-сайт';
           return 
drupal_render($form);
      }
?>

Вставте это в temlate.php вашей темы
вместо 'Ваш сайт' куда редиректить
PS. Да все это дейсвительно для D5.x

А для D6 как такое же можно сделать?


Новое на сайте

Ссылки партнёров