PDA

Zobacz pełną wersję : Przekierowanie na strone główną po zalogowaniu



szopik
11-03-2009, 15:47
Witam mam pytanie zapewne bardzo głupie ;), chodzi o to że po zalogowaniu zawsze jestem przekierowany na stronę główną, jak zrobić tak że będąc w jakieś kategorii logując się do portalu po zalogowaniu tam zostanę a nie wrócę na stronę główna ?

jantin
11-03-2009, 15:51
Zapoznaj się z modułem logowania i jego ustawianymi parametrami

szopik
16-03-2009, 08:52
No właśnie problem jest o tyle dziwny że nie wiem o co chodzi. Mam dwie instalacje joomli jedną z gotowa bazą danych dostarczaną wraz z nową instalacją, druga joomla z pustą bazą danych sam dodaję wszystko. W obydwu w module login ustawione jest Skocz po zalogowaniu do - Wybierz pozycje. Jednak dwie joomle zachowują się zupełnie inaczej :/ Gdzie moge jeszcze cos zmienić ?

jantin
16-03-2009, 09:57
:/ Gdzie moge jeszcze cos zmienić ?
Zaloguj się do SQL, w tabeli jos_modules znajdź moduł Login, wyedytuj go i w polu params (parametry) znajdź wiersze:
login= jakaś liczba
logout=jakaś liczba

Te "jakieś liczby" określają do jakich stron skaczesz po zalogowaniu/wylogowaniu z modułu Login (mod_login)

Uwaga: liczby te, to id pozycji menu, a nie id artykułu. Znajdziesz je w tabeli jos_menu, oznaczone są z lewej strony pozycji menu w kolumnie id.
Zmień te id w parametrach modułu Login wedle swojego życzenia, posiłkując sie numerami id w tabeli jos_menu i po kłopocie.

PS/ obie instalacje zachowują się inaczej, bo w jednej ładujesz BD z gotowymi ustawieniami modułu Login, a w drugiej sam go ustawiasz w PA

Bazyl
16-03-2009, 10:15
będąc w jakieś kategorii logując się do portalu po zalogowaniu tam zostanę a nie wrócę na stronę główna ?

Hm, ale czy efekt będzie taki?

jantin
16-03-2009, 10:30
Hm, ale czy efekt będzie taki?
No nie, z logowania/wylogowania skoczy sobie do danej pozycji menu niezaleznie w jakiej kategorii będzie. Teoretycznie rozpatruję - nie sprawdzałem, ale może mógłby utworzyć więcej modułów Login, każdy z różnymi skokami ( i nazwą aby się nie pogubić) i rozmieścic je według schematu - dany moduł/w danej pozycji menu. Czy to jednak rozwiązuje problem @szopika, nie wiem?
Na razie ma problem z zapisami parametrów mod_login w BD i to chyba mu rozwiązałem?

szopik
16-03-2009, 12:03
No nie ma problemu bo nigdy nie było problemu z zapisem miejsca po zalogowaniu i po wylogowaniu. Jednak ponawiam pytanie jak zrobić by po zalogowaniu będąc np w jakimś artykule nie wyjść z niego tylko pozostać. W tym moemencie jestem przenoszony do User Detalis.

jantin
16-03-2009, 12:46
Czyli chcesz tak:

Logujesz się i skaczesz do określonej pozycji menu (np artykułu). Dalej przechodzisz jako zalogowany do różnych innych artykułow, i kiedy się wylogujesz chcesz pozostać dokładnie w tym artykule w którym ostatnio przebywałeś?

O to chodzi?

Jeśli tak, obawiam się, że nie pomogę. Źle zrozumiałem problem. Moduł Login skacze do pozycji menu, nie do artykułu. To chyba wymaga zmian w kodzie, lub może jest jakis plugin (?), ale o takim nie słyszałem.

jantin
16-03-2009, 16:30
Jednak można, prawdopodobnie szukasz coś takiego:

Podaję za:
http://www.joomlaloft.com/blog/97-login-module-without-redirection-for-j159

w pliku modules/mod_login/helper.php zmień zapis funkcji


function getReturnURL($params, $type)
{
if($itemid = $params->get($type))
{
$menu =& JSite::getMenu();
$item = $menu->getItem($itemid);
$url = JRoute::_($item->link.'&Itemid='.$itemid, false);
}
else
{
$url = JURI::base(true);
}
return base64_encode($url);
}
na taki zapis



function getReturnURL($params, $type) {
$redirectornot = $params->get( 'redirect', 0 );
if ($redirectornot == 1) {
if($itemid = $params->get($type)) {
$menu =& JSite::getMenu();
$item = $menu->getItem($itemid);
$url = JRoute::_($item->link.
'&Itemid='.$itemid, false);
} else {
$url = JURI::base(true);
}
} else {
$juri = JFactory::getURI();
$uri = $juri->toString();
if ( JURI::isInternal($uri) && !empty($uri) ) {
$url = $uri;
} else {
$url = JURI::base(true);
}
}
return base64_encode($url);
}
Aby pozostawić jednak wybór opcji przekierowania po logowaniu/wylogowaniu dopisz w pliku mod_login.xml taki parametr ( w bloku <params>):


<param name="redirect"
type="radio"
default="0"
label="Redirect"
description="Redirect after login/out">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
To pozwoli na wybór czy chcesz pracować z przekierowaniem jak w oryginalnej wersji czy bez.

Sprawdziłem na 1.5.9 - działa.

Uwaga! Rozwiązanie to nie jest szeroko przetestowane pod kątem bezpieczeństwa i stosować je można wyłącznie na własne ryzyko, bez żadnej odpowiedzialności autora, ani tu je podającego. Autor przypuszcza, że jest bezpieczne, ale podkreśla, ze nie zostało przetestowane przez developerów.