Moduł Menu witryny umożliwia wyświetlanie dowolnych menu, czyli spisów treści witryny - głównego, lokalnego, użytkownika, górnego, dolnego, ogólnodostępnego, dostępnego tylko dla uprawionych. Każda witryna Joomla! ma przynajmniej jedno domyślne menu tworzone na stronie Projektant menu.
Jedno menu może być wyświetlane w kilku modułach. W module można wyświetlić jeden, wszystkie albo wybrane poziomy menu hierarchicznego.
Sposób prezentacji menu zależy od reguł formatowania określonych w szablonie.
Główne menu witryny osadzane jest niekiedy bezpośrednio w szablonie, a nie za pomocą modułu. W takich przypadkach możliwości konfiguracji menu ograniczone są do udostępnianych standardowo w Projektancie pozycji menu oraz w ustawieniach szablonu.
Przykłady modułów Menu witryny w witrynie z przykładowymi danymi
Powiązania z innymi składnikami Joomla
Moduły Menu witryny są powiązane bezpośrednio z komponentem zaplecza Projektant menu. Aby wyświetlić menu utworzone w Projektancie menu, trzeba utworzyć moduł menu. Moduł menu witryny jest jedynym sposobem udostępnienia w witrynie menu. Sam moduł menu nie posiada żadnej zawartości - wyświetlany spis treści witryny pobiera z Projektanta menu (precyzyjniej rzecz biorąc, z bazy danych, z tabeli #__menu, ale to szczegół techniczny).
Konfiguracja modułu
Opcje podstawowe
Opcje podstawowe w ustawieniach modułu Menu witryny
- Wybierz menu [Select Menu]: decyduje, które z menu zostanie wyświetlone w module. Nazwa ustalana jest na stronie Projektant menu. Wybierz menu, które chcesz obsłużyć.
- Rozpocznij od poziomu [Start Level]: opcjonalne. Określa główny poziom menu. Domyślnie najwyższy: 1.
- Najniższy poziom [End Level]: opcjonalne - poziom, poniżej którego nie będą wyświetlane podrzędne pozycje menu. Domyślnie Wszystkie - powoduje wyświetlanie wszystkich podrzędnych pozycji.
- Pokaż pozycje podmenu [Show Submenu Items]: w przypadku menu wielopoziomowego decyduje o sposobie wyświetlania. Jeśli zostanie ustawiona opcja Tak, będą wyświetlane zarówno pozycje nadrzędne, jak i podporządkowane. W przypadku menu wielopoziomowego raczej niezalecane. Jeśli zostanie ustawiona opcja Nie, podrzędne pozycje menu będą wyświetlane wówczas, gdy użytkownik wybierze menu nadrzędne.
Poziom startowy i najniższy
Poziomy startowy, określany w opcji Rozpocznij od poziomu, oraz poziom najniższy można wykorzystać do pokazania różnych części jednego menu w różnych lokalizacjach (miejscach). Na przykład możesz mieć jedno menu z trzema poziomami, jak poniżej:
- Pozycja menu 1
- Pozycja menu 2
- Pozycja menu 2.1
- Pozycja menu 2.1.1
- Pozycja menu 2.1.2
- Pozycja menu 2.2
- Pozycja menu 3
Stosując opcje Rozpocznij od poziomu (poziom początkowy) i Najniższy poziom, możesz pokazać to jedno menu jako trzy różne mniejsze menu - w trzech modułach. Aby to osiągnąć:
- Stwórz "główne" menu, ustalając w nim 0 jako poziom startowy, a 1 jako poziom najniższy. Wyświetlaj ten moduł na wszystkich stronach (przypisz do wszystkich stron/pozycji menu).
- Stwórz "środkowy" moduł menu, ustalając w nim 1 jako poziom startowy, a 2 jako poziom najniższy. Wyświetlaj je tylko na stronach przypisanych do pozycji menu 2, 2.1, 2.1.1, 2.1.2, i 2.2.
- Stwórz "trzeci" moduł menu, ustalając w nim 2 jako poziom startowy, a 3 jako poziom najniższy, czyli tak, aby wyświetlane były jedynie pozycje 2.1.1 i 2.1.2. Wyświetlaj je tylko na innych pozostałych stronach (innych, niż w przypadku poprzednich modułów) - na stronach przypisanych do pozycji 2.1, 2.1.1 i 2.1.2.
W efekcie możesz zbudować jedno wielopoziomowe menu, ale rozbite na kilka odrębnych modułów. To rozwiązanie ma jeszcze jedną zaletę - w module Ścieżka Powrotu będzie odzwierciedlana faktyczna hierarchia stron witryny.
Opcje rozszerzone
Zestaw opcji rozszerzonych obejmuje następujące ustawienia powtarzające się w wielu modułach:
Opcje rozszerzone w ustawieniach modułu Menu witryny
- Znacznik ID menu [Menu Tag ID]: umożliwia oznaczenie elementu UL obejmującego pozycję menu atrybutem id. Wpisz nazwę identyfikującą to menu. W arkuszu stylów można się będzie odwołać do tego menu za pomocą selektora #wpisana_tu_nazwa.
- Przyrostek klas CSS menu [Menu Class Suffix]: umożliwia nadanie menu i wyglądu odróżniającego je od innych. W tym celu konieczne jest dodanie w arkuszu CSS odpowiednich deklaracji. Wpisz przyrostek nazwy klas albo klasę modyfikującą standardowe reguły formatowania menu. W przypadku nazwy klasy poprzedź ją spacją (odstępem).
- Dodatkowe okno [Target Position]: właściwości dodatkowego okna przeglądarki, w którym zostanie otwarta strona, jeśli nie będzie to główne okno przeglądarki (np. top=50,left=50,width=200,height=300).
- Alternatywny układ [Alternative Layout]: rozwijalna lista układów decydujących o sposobie prezentacji treści modułu. Możesz wybrać listy inny układ, niż domyślny - jeśli istnieje (spośród dostarczonych z modułem albo nadpisanych w szablonach witryny).
- Przyrostek klas CSS modułu [Module Class Suffix]: umożliwia nadanie modułowi wyglądu odróżniającego go od innych, jeśli w arkuszu CSS istnieją odpowiednie deklaracje stylów. Wpisz przyrostek nazwy klas albo klasę modyfikującą standardowe reguły formatowania modułu. W przypadku nazwy klasy poprzedź ją spacją (odstępem).
- Pamięć podręczna [Caching]: decyduje o przechowywaniu treści modułu w pamięci podręcznej, a tym samym o zmniejszeniu ilości zapytań do bazy danych, co przyspiesza wysyłanie stron do przeglądarek oraz ogranicza obciążenie serwera. Ustawienia globalne pamięci podręcznej określane są na stronie Witryna: Konfiguracja. Wybierz jedną z opcji: Globalne albo Nie przechowuj.
- Czas przechowywania [Cache Time]: określa w sekundach czas, jaki musi upłynąć między odświeżeniem plików przechowywanych w katalogu pamięci podręcznej. Ustal, zależnie od częstotliwości wprowadzania zmian w treści witryny.
Umieszczanie modułu na stronie
Aby umieścić moduł Menu witryny na stronie, wykonaj następujące czynności:
- Zaloguj się do części administracyjnej co najmniej jako administrator.
- Z głównego menu zaplecza wywołaj stronę Rozszerzenia/Moduły.
- W przyborniku kliknij ikonę Nowy, aby przejść na stronę umożliwiającą wybór typu modułu, który chcesz umieścić na stronie.
- Na liście wyboru typu kliknij nazwę Menu, by rozpocząć konfigurację modułu.
- Skonfiguruj podstawowe dane modułu w sekcji Szczegóły:
Podstawowe dane modułu Menu witryny
- Wpisz tytuł modułu. Jest wymagany.
- Zdecyduj, czy wyświetlać tytuł modułu. Zaznacz Pokaż lub Ukryj.
- Ustal położenie modułu na stronie, wybierając jedną z dostępnych pozycji. Jeśli znasz nazwę pozycji, możesz ją również wpisać.
- Zdecyduj, czy włączyć moduł (opublikować).
- Możesz zmienić poziom dostępu do modułu. Jeśli wybierzesz poziom wyższy, niż powszechny, moduł będzie widoczny tylko dla zalogowanych użytkowników, przypisanych do grup, którym przypisano wybrany poziom dostępu.
- Możesz określić kolejność wyświetlania modułu w wybranej pozycji. Domyślnie nowo tworzone moduły wyświetlane są jako ostatnie. Aby ustalić inną kolejność, kliknij najpierw w przyborniku ikonę Zapisz. W efekcie na liście rozwijalnej Porządek powinny się pojawić tytuły umieszczonych w tej pozycji modułów. Zaznacz tytuł modułu, przed którym chcesz umieścić tworzony moduł. Jeśli ta metoda nie przyniesie spodziewanego efektu, kolejność modułów można zmienić na stronie przeglądu modułów.
- Możesz ustalić daty rozpoczęcia i zakończenia publikacji modułu z dokładnością co do minuty. Wybierz je z kalendarzyka lub wpisz. Wpisując, zachowaj format RRRR-MM-DD GG:MM:SS.
- Jeśli wydajesz witrynę wielojęzyczną, określ, czy wyświetlać moduł na stronach wszystkich języków, czy jednego z wybranych.
- Ustal, na których stronach witryny wyświetlać moduł, przypisując go do wybranych lub wszystkich pozycji menu:
Sekcja Przypisz do pozycji menu w module Menu Witryny
- Najpierw określ zasadę przypisania: Na wszystkich stronach, Na żadnej stronie, Tylko na zaznaczonych stronach, Na wszystkich poza zaznaczonymi.
- Następnie klikaj karty dostępnych menu i zaznaczaj pola wyboru przy nazwach pozycji menu.
Uwaga: Korzystając z przycisków obok etykiety Zaznacz menu, możesz spowodować, że zostaną zaznaczone wszystkie pozycje lub przełączyć zaznaczenie (niezaznaczone zostaną zaznaczone i odwrotnie). Możesz również wyczyścić zaznaczenie.
- Dostosuj opcje modułu do planu witryny, w tym:
- określ, które menu wyświetlać w module,
- zdecyduj, które poziomy menu wielopoziomowego wyświetlać w module,
- zdecyduj, czy pozycje podrzędne mają być wyświetlane w module od razu, czy dopiero po kliknięciu przez użytkownika łącza do pozycji nadrzędnej,
- w opcjach rozszerzonych określ, jeśli trzeba: wartość atrybutu ID w znaczniku HTML obejmującym menu, przyrostek klasy CSS stylizującej menu oraz przyrostek klasy CSS stylizującej moduł, w którym będzie wyświetlane menu.
- Aby zachować ustawienia, kliknij w przyborniku ikonę Zapisz.
Pliki modułu
Moduł Menu witryny jest obsługiwany przez zestaw skryptów umieszczonych w katalogu modules/mod_menu. Nazwa podkatalogu katalogu jest systemową nazwą typu modułu (w Joomla 1.6+, inaczej niż w poprzednich wydaniach jest na zapleczu tłumaczona). Moduł Menu witryny i wszystkie jego kopie są więc modułami typu mod_menu.
Dostosowanie układu prezentacji
Aby zmodyfikować sposób prezentacji modułu Menu, można skorzystać z techniki alternatywnych układów definiowanych w szablonie witryny. W tym celu w folderze html utworzonym w katalogu domyślnego szablonu witryny tworzymy podkatalog mod_menu i kopiujemy do niego z katalogu modules/mod_menu/tmpl plik default.php, następnie zmieniamy mu nazwę na własną (!). Nazwa nie może zawierać znaków podkreślenia (_).
Modyfikując kod html w tym pliku można zmienić sposób prezentacji modułu. Nowy układ będzie dostępny w opcjach rozszerzonych na rozwijalnej liście układów alternatywnych - nazwą układu będzie nazwa pliku (bez rozszerzenia .php).
Nazwę można "przetłumaczyć", umieszczając odpowiednie deklaracje w pliku językowym szablonu.
Jeśli w witrynie używasz kilka szablonów, pamiętaj, aby pliki własnych układów modułu przekopiować do katalogów wszystkich używanych szablonów.