Moduł (np.menu) tylko dla niezalogowanych

Facebooktwittergoogle_plusredditpinterestlinkedintumblrmailFacebooktwittergoogle_plusredditpinterestlinkedintumblrmail

Moduł AccessLevel (dla Joomla!) – mimo swoich małych rozmiarów, 2 letniej historii nadal jest bardzo przydatnym rozszerzeniem typu ACL. Ma bowiem zastosowanie w sytuacji, kiedy chcemy pokazać dany moduł tylko ściśle określonej grupie lub wszystkim grupom poza jedną.  Pozwala, aby dowolny moduł, w tym także menu było dostępne tylko dla niezalogowanych.

Ja go używam, kiedy klient prosi, aby w dziale np. Pobieralnia – była informacja, że pliki są dostępne tylko dla zalogowanych. Tym samym użytkownikom, którzy się zalogują już nie serwujemy tego komunikatu, czyż nie. Instalacja modułu (komercyjnego) jest prosta, wystarczy standardowy instalator, następnie sugeruje do pliku templateDetails.xml dopisać nową pozycje np. zasugerowaną przez moduł. Teraz wystarczy w parametrach zaznaczyć jakie grupy będą miały lub nie dostęp do danej pozycji modułu, a sam moduł AccessLevel publikujemy tam, gdzie nasz moduł z np. informacją ma się pojawiać. A naszemu docelowemu modułowi nadać pozycje identyczną, jak ta którą wpisaliśmy w XML oraz moduł AL.

Jasna sprawa, iż nie jest to „jedyne słuszne” rozszerzenie, które to potrafi. Dla zainteresowanych podam, iż również moduł MetaMod dysponuje podobną funkcjonalnością oraz kilkoma innymi, jednakże z tego co pamiętam, nie ma tam, aż tak bogatego rozgraniczenia grup użytkowników Joomla!.

Tags:
  • bigfun

    Jeśli ktoś potrzebuje wyświetlić daną pozycję w szablonie tylko dla zalogowanych użytkowników (albo tylko niezalogowanych) może też użyć krótkiego kawałka kodu:

    $user =& JFactory::getUser();

    if($user->id)
    {
    // rzeczy dla zalogowanych
    }
    else
    {
    // rzeczy dla niezalogowanych
    }

  • Więcej na ten temat tutaj: http://docs.joomla.org/Accessing_the_current_user_object

    Przy okazji działa to zarówno w obrębie modułów jak i komponentów. Co mi parę razy pomogło.