--=REKLAMA=--

Automatyczne przekierowanie na stronę logowania

Z Joomla!WikiPL

Wersja Zwiastun (dyskusja | edycje) z dnia 22:52, 18 sie 2011

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Pożądana funkcjonalność

Załóżmy, że masz w ofercie pozycję menu, która wymaga od użytkownika, by się zalogował, np. "Wyślij artykuł". Chcesz, aby wszyscy użytkownicy widzieli odnośnik w menu, bez względu na to, czy są zalogowani.

Jeśli zalogowany użytkownik wybierze taką pozycję menu, przechodzi na odpowiednią stronę.

Natomiast jeśli pozycję wybierze użytkownik niezalogowany, to:

  • wyświetla się strona logowania,
  • po pomyślnym zalogowaniu się, kontynuuje działanie na stronie z której został przekierowany.

Jeśli nie jest zarejestrowany, ma do wyboru opcję, by się zarejestrować albo przejść na wybraną stronę.

Rozwiązanie

Oto, jak to osiągnąć w Joomla!.

  1. Stwórz nowe menu, który nazwij np. "Ukryte menu".
  2. NIE twórz dla tego menu modułu - nie będzie wyświetlane na żadnej stronie, więc moduł nie jest potrzebny.
  3. Dodaj w tym menu jakieś odnośniki, które będą udostępniały treści lub funkcje tylko dla zarejestrowanych i zalogowanych użytkowników, np. "Wyślij artykuł". Określ w szczegółach tych pozycji odpowiedni poziom dostępu, np. "Specjalny" lub "Zastrzeżony"
  4. Stwórz rzeczywiste menu (np. Menu główne) i odnośnik w menu, który będzie widoczny dla wszystkich użytkowników (np. "Wyślij artykuł").
  • Wybierz dla tego odnośnika typ pozycji menu zwany Alias.
  • W parametrze "Pozycja menu" wybierz odnośnik "Wyślij artykuł" z "Ukryte menu".
  • Pozostaw dla tego odnośnika poziom dostępu Powszechny, aby udostępnić go wszystkim odwiedzającym.
  1. Utwórz moduł typu "mod_mainmenu" dla tego menu tak, jak tworzysz moduły dla innych menu.
  2. Jeśli chcesz dodać jakieś podmenu, upewnij się, że dodajesz pozycje podmenu w Menu główne, a nie w Menu ukryte.

Teraz, gdy jakiś internauta (niezalogowany użytkownik) wybierze z menu odnośnik "Wyślij artykuł", zostanie przekierowany na stronę logowania, a po pomyślnym zalogowaniu się, zostanie przeniesiony na pożądaną stronę ("Wyślij artykuł"). Jeśli jest zalogowany, zostanie od razu przeniesiony na pożądaną stronę.

Przykład

W moim przypadku, dodałem w menu następujące odnośniki:

  1. START
  2. BLOG (IDOBlog)
  3. WIKI (Wiki)
  4. KATALOG (SOBI2)
  5. OGŁOSZENIA (ads)
  6. PYTANIA (FAQ, Sekcja artykułów)
  7. SKLEP (virtue mart)
  8. Napisz do nas (contacts)

Chciałem, aby wszystkie te odnośniki były zawsze widoczne (także dla niezalogowanych użytkowników), ale równocześnie chciałem, aby odnośniki 3,4,5,6 i 7 udostępniały strony jedynie zalogowanym użytkownikom. Inaczej mówiąc, gdy ktoś niezalogowany klinie odnośnik 3/4/5/6/7, to zostanie skierowany na stronę z modułem logowania.

Stworzyłem więc "Ukryte menu" z odnośnikami dla pozycji 3-7 z dostępem zastrzeżonym. Następnie stworzyłem faktyczne menu, w którym - korzystając z pozycji typu Alias, utworzyłem łącza do odpowiednich pozycji w menu ukrytym.

O ile wiem, ten sposób może być zastosowany do wszystkich pozycji menu. Jeśli będzie potrzebna jakaś pomoc albo w przypadku pytań, proszę skontaktować się ze mną forums.joomla.org (użytkownik ziggy03). Jeśli znasz lepszą albo alternatywną metodę, nie krępuj się - popraw lub uzupełnij tę stronę.

© Ten materiał jest dokładnym albo swobodnym tłumaczeniem artykułu http://docs.joomla.org/Auto_redirect_guests_to_login udostępnionego na licencji JEDL na witrynie: Joomla! Official Documentation Wiki

Dziękujemy za wkład

» Stefan Wajda [zwiastun],