Elementy strony w Joomla 1.0.x
Każda strona w CMS Joomla! zbudowana jest co najmniej z kilku bloków zawartości. O ich rozmieszczeniu projektant decyduje w szablonie [Template] strony.
Zawartość stron w serwisie opartym na joomli 1.0.x jest dynamiczna! Zmienia się za każdym razem, gdy otwierasz stronę startową lub gdy wywołujesz konkretną pozycję w menu. To najważniejsza informacja w tej sekcji: w joomli nie budujesz kolejnych stron, ale dodajesz zawartość, która pojawia się w głównym obszarze strony i powoduje dynamiczną zmianę zawartości części albo nawet wszystkich pozostałych obszarów.
W szablonie wyznaczane są:
- obszar na główną zawartość
- obszary (zwane pozycjami) na moduły,
- obszary na inne stałe elementy, np. logo, stopkę.
Gdy użytkownik kliknie odnośnik w menu głównym albo w menu lokalnym czy jakikolwiek inny odnośnik, znajdujący się w module lub w głównej zawartości, to w obszarze głównej zawartości umieszczany jest wywołany element serwisu, a w modułach nowa, zmieniona, generowana dynamicznie zawartość.
Projektant może przy tym zdecydować, czy i które z modułów ukażą się w powiązaniu z główną zawartością. Ilość i dobór modułów jest "przypisana" do konkretnych pozycji menu.
Trzy podstawowe rodzaje zawartości
Równie ważną kwestią, którą trzeba dobrze zrozumieć na początku, jest rozróżnienie trzech podstawowych rodzajów zawartości.
Czym jest zawartość, zapewne wyjaśniać nie trzeba - to wszelkie materiały tekstowe, graficzne, wideo, dźwiękowe, animacje, pliki do pobrania udostępnione w witrynie, a także wszelkiego typu odnośniki prowadzące do zasobów wewnętrznych bądź zewnętrznych. Zrozumiałe jest również, że pozycją zawartości może być zarówno tekst, obraz, animacja, itd. jak i materiał stworzony z kilku czy wszystkich tych elementów.
W joomli 1.0.x rozróżniamy trzy podstawowe jednostki zawartości:
- artykuły statyczne [ang. static content],
- artykuły dynamiczne, które nazywamy w skrócie po prostu artykułami [ang. content],
- odsyłacze [ang. link] lub ich zestawy
Artykuł statyczny to materiał utworzony w edytorze tekstów, który może zawierać grafikę, animacje, odsyłacze, itp. Jego charakterystyczną właściwością jest brak powiązań wpływających na inne elementy zawartości. To samodzielny element struktury serwisu, niepowiązany z żadnym innym. Jedynym sposobem udostępnienia artykułu statycznego jest "ręczne" umieszczenie odsyłacza do niego w menu lub w innym artykule.
Artykuły "dynamiczne" są natomiast powiązane z innymi elementami struktury serwisu: należą do kategorii, a te z kolei należą do sekcji. W efekcie, z jednej strony, gdy w obszarze głównej zawartości udostępniany jest taki artykuł, to zmienia się zawartość modułów, a z drugiej gdy w jakimkolwiek obszarze serwisu wywoływane są składniki zawierające generowane przez system odsyłacze do artykułów, to wśród nich pojawić się może także odsyłacz do tego artykułu. Umieszczenie tego odsyłacza nie wymaga żadnego działania administratora serwisu.
Najlepszym, ale oczywiście nie jedynym, przykładem jest moduł "Artykuły pokrewne". Gdy w obszarze głównej zawartości pokazywany jest artykuł "dynamiczny", to zawartość modułu "Powiązane artykuły" stanowi niepowtarzalny zestaw odsyłaczy do innych artykułów o podobnej zawartości, z wyjątkiem… artykułów statycznych.
Odsyłacze bądź ich zestawy to również szczególny rodzaj zawartości. Same w sobie nie zawierają zbyt dużo treści. Ale w nich przecież kryje się cała potęga Internetu. W tym miejscu jest dla nas ważne, że w serwisie opartym na joomli odsyłacze mogą prowadzić do:
- artykułów, zarówno statycznych, jak i "dynamicznych"
- kategorii artykułów
- zawartości sekcji artykułów, a więc zarówno do kategorii, jak i w kategoriach - do artykułów
- pozycji gromadzonych i udostępnianych za pomocą komponentów
- dowolnego zasobu w Internecie
Co to są komponenty i moduły?
Trzecia ważna kwestia dla rozumienia joomli 1.0.x to rozróżnianie komponentów i modułów.
Komponenty
Komponenty to mniej lub bardziej rozbudowane programy, za pomocą których gromadzimy, redagujemy, porządkujemy i udostępniamy informacje.
Aby dobrze zrozumieć, czym jest komponent, najlepiej porównać prezentowaną przez komponenty zawartość z zawartością dokumentów tekstowych.
Struktura zawartości artykułu zależy od autora. Jedyne, co możemy zrobić, jak autorzy, to wyróżnić pewne segmenty artykułu śródtytułami. Program odczytujący artykuł z bazy danych może "rozumieć" jedynie, że coś w artykule jest tytułem 1 stopnia, tytułem 2 stopnia, akapitem. Ale "nie rozumie", jaka jest zawartość poszczególnych części.
Inaczej w przypadku struktury zawartości gromadzonej przez komponenty. Informacje podzielone są na segmenty ze względu na ich znaczenie. Wiadomo, że jeden segment to skrócony opis, inny to opis szczegółowy, jeszcze inne to np. numer katalogowy produktu, nazwa producenta, cena, waga, itd. Z takich segmentów można budować różne konfiguracje, np. pokazać tylko nazwy i ceny, albo nazwy i skrócone opisy, albo pełny zestaw informacji.
Dzięki takiej strukturze informacji gromadzonych za pomocą komponentów możemy zaprezentować użytkownikom zestawy informacji, jakich potrzebują, w bardzo czytelnym układzie, w niewielkich "dawkach", a:
W im większym stopniu informacje są ustrukturalizowane, w im większym stopniu są obiektami, którymi można swobodnie rozporządzać, budować z nich dowolne konfiguracje, tym większa szansa na atrakcyjne, lubiane, często odwiedzane serwisy oraz utrzymanie aktualności i spójności danych.
Projektując zawartość serwisu, trzeba rozważyć, czy i jakiego typu informacje można gromadzić i prezentować za pomocą komponentów. Możesz np. stworzyć katalog produktów, posługując się artykułami. W treści artykułu umieścisz wówczas nawet według jednolitego schematu zawsze taki sam zbiór informacji. Zawsze jednak konieczne będzie pokazanie użytkownikom całego artykułu. Czyż nie lepiej w takim przypadku byłoby skorzystać z komponentu? Możesz stworzyć książkę kucharską, w której każdej potrawie poświęcisz jeden artykuł. Czyż nie lepiej jednak skorzystać z komponentu, w którym informacje będą umieszczone w odpowiednich segmentach - odrębnie składniki, odrębnie procedura przyrządzania, odrębnie typ potrawy (mięsna, wegetariańska), rodzaj (zupa, deser, kanapka, przystawka, itd.).
Tuż po zainstalowaniu joomla 1.0.x udostępnia Ci siedem komponentów umożliwiających zarządzanie najbardziej typowymi informacjami:
- komponent Artykuły [Content]: umożliwiający gromadzenie, redagowanie, porządkowanie i udostępnianie tekstów,
- komponent Kontakty [Contact]: do zarządzania informacjami kontaktowymi, teleadresowymi,
- komponent Linki [Weblinks], nazwany "Katalog WWW": wspierający zarządzanie adresami URL,
- komponent Sondy [Polls]: do tworzenia i przeprowadzanie ankiet oraz publikacji wyników,
- komponent Spinacz RSS [News Feeds]: do pobierania i publikowania nagłówków wiadomości z udostępniających je witryn,
- komponent Banery [Banners]: do publikowania reklam i ogłoszeń, zarówno tekstowych jak i graficznych,
- komponent Media [Media Manager]: umożliwiający gromadzenie i publikację dokumentów, w tym gromadzenie zasobów graficznych, wykorzystywanych w ilustrowaniu publikacji
Obok tych 7 komponentów w Joomla! dysponujesz jeszcze kilkoma innymi, z których dwa wspierają zarządzanie zawartością, a mianowicie:
- komponent Strona startowa [FrontPage]: do zarządzania zawartością strony powitalnej,
- komponent Wraper [Wrapper]: umożliwiający umieszczenie w serwisie dowolnej innej strony lub nawet całej witryny.
Możesz skorzystać z tych komponentów, ale także - w większości przypadków - z alternatywnych rozwiązań, zwykle o znacznie bogatszej funkcjonalności, oferowanych przez projektantów składników dla CMS Joomla!
Jak jednak łatwo stwierdzić, tych 9 komponentów pozwala gromadzić i umieścić w serwisie dowolną zawartość.
Moduły
Moduły to niewielkie programy, które najczęściej generują odnośniki do zawartości dostępnej w witrynie bądź sygnały informacji wraz z odsyłaczami do stron zawierających pełna treść.
Moduły zwykle pobierają informacje z bazy danych lub z innych serwisów. A zatem korzystają ze wszystkich zasobów gromadzonych za pomocą komponentów oraz innych zasobów. Nie posiadają natomiast funkcji, które pozwalałyby administratorom - jak to jest w przypadku komponentów - gromadzić, redagować i porządkować informacje.
Istnieje też pewna ilość modułów "z zawartością". Moduły te nie pobierają więc informacji skądinąd, ale udostępniają swoją zawartość.
Modułami są menu. Modułem są sondy. Modułem jest formularz Logowanie. Prawie wszystko, co zawiera jakieś odsyłacze lub wejście dla użytkowników to moduły.
Po zainstalowaniu joomli 1.0.x dysponujesz blisko 20 modułami:
- Menu [MainMenu]: umożliwia tworzenie różnych menu - głównego, lokalnego, użytkownika
- Szukaj [Search]: wyświetla okienko wyszukiwarki
- Logowanie [Login Form]: wyświetla formularz umożliwiający zalogowanie się, odsyłacz do formularza rejestracyjnego, odsyłacz dla osób, które zapomniały hasła, a gdy użytkownik jest zalogowany, odsyłacz Wyloguj się [Logout]
- Zmień szatę [Template Choser]: umożliwia odwiedzającym wybór jednego z dostępnych szablonów graficznych, a więc dostosowanie wyglądu serwisu do swoich preferencji.
- Gościmy [WhosOnLine]: wyświetla ilość aktualnie odwiedzających serwis użytkowników anonimowych i zalogowanych.
- Statystyki [Stats]: wyświetla zestaw informacji o serwisie i serwerze, na którym serwis jest umieszczony (ilość artykułów, zarejestrowanych użytkowników, odsyłaczy w katalogu WWW, wersja PHP, wersja MySQL).
- Popularne [MostRead]: wyświetla odsyłacze do najczęściej przeglądanych artykułów.
- Artykuły pokrewne [RelatedItems]: wyświetla odsyłacze do artykułów powiązanych tematycznie z aktualnie wyświetlanym w obszarze głównej zawartości.
- Nowości [LatestNews]: wyświetla odsyłacze do artykułów ostatnio opublikowanych.
- Sekcje [Sections]: wyświetla odsyłacze do stron prezentujących zawartość sekcji artykułów.
- Archiwum [Archive]: umożliwia dotarcie do artykułów umieszczonych w archiwum - wyświetla odsyłacze - kolejne miesiące. Kliknięcie odsyłacza wywołuje w obszarze głównej zawartości odsyłacze do umieszczonych w archiwum artykułów.
- Migawki [NewsFlash]: wyświetla skrót (wstęp) losowo wybranego artykułu. Może wyświetlać także odsyłacz do pełnego tekstu.
- Losowy obraz [Random Image]: wyświetla losowo wybrany obraz spośród umieszczonych w specjalnym katalogu
- Sondy [Polls]: jest powiązany z komponentem Sondy [Polls]. Wyświetla formularz do głosowania z odsyłaczami do poglądu wyników i innych sond.
- Banery [Banners]: jest powiązany z komponentem Banery. Wyświetla losowo wybrany baner z puli opublikowanych.
- Kolporter RSS [RSSFeed]: wyświetla graficzne odsyłacze do generatorów nagłówków najświeższych wiadomości z Twojego serwisu (kanałów RSS).
- Wraper [Wrapper]: umożliwia wywołanie w obszarze głównej zawartości dowolnej innej witryny lub strony z całym jej interfejsem. Efektem jest wyświetlenie w serwisie innej strony lub witryny.
Na stronach projektantów komponentów, a także w centralnym repozytorium - http://developer.joomla.org znajdziesz bogatą ofertę modułów powiązanych z konkretnymi komponentami, wyświetlających odsyłacze do elementów informacji gromadzonych za pomocą komponentów.
Moduły umieszczasz w przeznaczonych na nie obszarach - pozycjach. W ustawieniach wyznaczasz strony, na których mają być pokazane.
O ile o doborze komponentów trzeba zdecydować, planując zawartość serwisu, to o doborze modułów decydujesz, projektując system nawigacji Trzypoziomowa struktura
Czwarta kwestia dotyczy hierarchii zawartości: wszelka zawartość w joomli opiera się na trzypoziomowej strukturze. Każdy stanowiący zamkniętą całość informacyjną element zasobów, każda pozycja należy do jakiejś kategorii, a każda kategoria należy albo do jakiejś sekcji artykułów albo do jakiegoś komponentu:
- Poziom najwyższy - sekcje artykułów oraz komponenty: myśl o nich jak o kontenerach, pojemnikach, pudełkach, w których grupujesz jeden typ, jeden rodzaj materiałów; do sekcji możesz włożyć jedną lub więcej kategorii; także w komponentach masz zwykle możliwość tworzenia wielu kategorii,
- Kategorie: podobnie jak o sekcjach i komponentach - myśl o nich jak o pojemnikach, w których można umieścić jedną lub więcej pozycji.
- Pozycje - to podstawowe, pojedyncze elementy zawartości umieszczane w kategoriach, które z kolei należą do sekcji lub do komponentu. Pozycją może być tekst artykułu, pozycją może być obraz w galerii, pozycją może być dokument w plikowni, pozycją może być... odsyłacz do strony www czy adres e-mail. Krótko mówiąc, każdy obiekt, który zawiera konkretną treść.
Przypomnijmy jeszcze, że artykuły statyczne nie są przypisywane do żadnej kategorii, a więc i sekcji
W przyszłości, w Joomla! 2.0 nie będzie już takiego ograniczenia struktury do trzech poziomów. Tymczasem..., cóż znasz pewno zasadę "trzech kliknięć". Po trzecim kliknięciu w dobrym serwisie internauta powinien dotrzeć do poszukiwanej pozycji. Więc może to "ograniczenie" nie jest aż takie złe? Zresztą, można je czasami obejść. Są bowiem i takie komponenty, w których organizacja informacji ma bogatą strukturę, jest wielopoziomowa. Ale to nie zmienia zasadniczej koncepcji: poziom najwyższy ⇒ kategorie i ewentualnie podkategorie ⇒ pozycje.
Sekcje, kategorie, pozycje są w joomli 1.0.x wszechobecne. Jeśli zrozumiesz ich znaczenie w strukturze zawartości witryny, to w pełni zrozumiesz joomlę i potrafisz wydobyć z niego wszystko, co najlepsze.
W następnej lekcji znajdziesz odpowiedzi na pytania:
- Artykuły czy komponenty?
- Jak założyć sekcje artykułów?
- Jakie są kategorie w komponentach?
- Czy struktura serwisu musi być taka sama jak struktura zasobów?