--=REKLAMA=--
Wszystkie szablony witryny, obsługujące strony odwiedzane przez internautów, znajdują się w katalogu szablonów: /templates. Przykładowo, jeśli Twój szablon nosi nazwę "moj_szablon", to znajdziesz go w katalogu [sciezka_do_Joomla]/templates/moj_szablon.
Wszystkie szablony zaplecza, obsługujące strony administracyjne, znajdują się w katalogu: /administrator/templates. Przykładowo, jeśli Twój szablon nosi nazwę "moj_szablon_admin", to znajdziesz go w katalogu [sciezka_do_Joomla]/administrator/templates/moj_szablon_admin.
Szablon Joomla! jest aplikacją złożoną z zestawu skryptów oraz dodatkowych plików – graficznych, dźwiękowych i innych, które odpowiadają za prezentację treści witryny przez urządzenia odczytujące, np. przeglądarki internetowe. Skrypty definiują układ treści na stronach witryny oraz sposób ich formatowania. Dodatkowe pliki służą do uzyskania planowanych efektów prezentacyjnych.
Szablon Joomla! współtworzą w najprostszej wersji co najmniej trzy skrypty:
Ten zestaw trzech podstawowych plików uzupełnia jeszcze zwykle czwarty:
Pliki wszystkich szablonów witryny Joomla! przechowywane są w katalogu /templates/, w odrębnych folderach nazwanych tak jak szablony: /nazwa_szablonu. Pliki wszystkich szablonów zaplecza przechowywane są w odrębnych folderach w katalogu /administrator/templates/.
Typowy katalog szablonu w Joomla 1.0 zawiera:
W macierzystym katalogu szablonu znajdują się pliki:
Oto przykładowa typowa struktura katalogów szablonu w Joomla 1.0:
/templates /moj_szablon /css index.html template_css.css /images index.html logo.png list.png menu_bg.png belka.png index.html index.php template_thumbnail.png templateDetails.xml
W typowym katalogu szablonu dla Joomla! 1.5 mamy dodatkowo jeden folder html. Powinien zawierać następujące foldery:
W macierzystym katalogu szablonu znajdują się pliki:
Oto przykładowa typowa struktura katalogów szablonu w Joomla 1.5:
/templates /moj_szablon /css index.html template.css /html /com_content /article default.php form.php index.html /category blog.php blog_item.html blog_links.html default.php default_items.php index.html editor_content.css index.html modules.php pagination.php /images logo.png list.png menu_bg.png belka.png component.php favicon.ico index.html index.php params.ini template_thumbnail.png templateDetails.xml
Zgodnie z konwencją stosowaną w systemach UNIX, nazwy katalogów powinny być zapisane bez spacji, a jeśli złożone są z kilku wyrazów, to należy zapisać je razem, np. używając łączników. Ilustracja poniżej przedstawia drzewo katalogu /templates, w którym umieszczone są trzy szablony.
Plik templateDetails.xml do instalacji i konfiguracji szablonu.
Plik templateDetails.xml integruje szablon z Joomla!, przechowuje dane o szablonie oraz instrukcje instalacyjne i konfiguracyjne, jest wykorzystywany przez komponent zaplecza Instalator oraz Szablony.
W Joomla 1.0 plik templateDetails.xml:
W Joomla 1.5 zwiększono konfiguracyjne funkcje pliku templateDetails.xml. Poza zadaniami wymienionymi powyżej plik ten:
Plik templateDetails.xml jest skryptem napisanym w języku XML. Poniższe objaśnienia pomogą rozpoznawać różne sekcje pliku. Dla czytelności pliku każda sekcja jest wyróżniona graficznie, poprzez wcięcia, które jednak dla funkcji pliku nie mają żadnego znaczenia.
W strukturze pliku templateDetails.xml można wyszczególnić kilka sekcji, które zawierają:
Na stronie startowej komponentu zaplecza Szablony wyświetlana jest lista zainstalowanych szablonów z kilkoma szczegółowymi informacjami o każdym nich. Informacji o szablonie pobierane są z pliku templateDetails.xml.
<install version="1.5" type="template"> <name>rhuk_milkyway</name> <creationDate>11/20/06</creationDate> <author>Andy Miller</author> <authorEmail>rhuk@rockettheme.com.com</authorEmail> <authorUrl>http://www.rockettheme.com</authorUrl> <copyright></copyright> <license>GNU/GPL</license> <version>1.0.2</version> <description>TPL_RHUK_MILKYWAY</description>
Wszystkie pliki szablonu są wyszczególnione. Każdy plik oznaczony jest pełną informacją o ścieżce rozpoczynającej się w początkowym katalogu szablonu. Informacje te wykorzystuje jedynie instalator szablonu podczas instalacji. Dla działania szablonu nie mają one znaczenia.
Niewielki fragment listy plików w szablonie rhuk_milkyway przedstawiamy poniżej.
<files> <filename>index.php</filename> <filename>templateDetails.xml</filename> <filename>template_thumbnail.png</filename> <filename>params.ini</filename> <filename>images/arrow.png</filename> <filename>images/indent1.png</filename> <files>
Niektóre szablony mogą zawierać pliki językowe, umożliwiające tłumaczenie stałych umieszczonych w szablonie napisów - etykiet, komunikatów, nazw parametrów. W poniższym przykładzie zadeklarowane są dwa pliki językowe. Pierwszy odnosi się do napisów, które pojawią się na witrynie, a więc będą widoczne dla użytkowników. Drugi, umieszczony w znaczniku <administration>, zawiera etykiety i komunikaty ekranowe, jakie zobaczy administrator w edytorze własności szablonu.
<languages> <language tag="en-GB">en-GB.tpl_beez.ini</language> </languages> <administration> <languages folder="admin"> <language tag="en-GB">en-GB.tpl_beez.ini</language> </languages> </administration>
Możliwe do wykorzystania Pozycje modułów definiowane są następująco.
<positions> <position>breadcrumb</position> <position>left</position> <position>right</position> <position>top</position> <position>user1</position> <position>user2</position> <position>user3</position> <position>user4</position> <position>footer</position> <position>debug</position> <position>syndicate</position> </positions>
Szablon może oferować opcje wyświetlania, które ustawiamy (wybieramy) w edytorze właściwości szablonu. Na przykład szablon rhuk_milkyway umożliwia administratorom wybór wariantu kolorystycznego, ustalenie koloru tła, ustalenie szerokości szablonu.
Przykład dodawania parametru i jego wartości przedstawiamy poniżej:
<params> <param name="colorVariation" type="list" default="white" label="Color Variation" description="Wariant kolorystyczny"> <option value="blue">Niebieski</option> <option value="red">Czerwony</option> <option value="green">Zielony</option> <option value="orange">Pomarańczowy</option> <option value="black">Czarny</option> <option value="white">Biały</option> </param> </params>
Więcej informacji na temat wykorzystania parametrów:
Plik index.php jest szkieletem stron witryny. Każda strona Joomla! powstaje z pliku index.php, w którym w miejscu specjalnych instrukcji umieszczane są treści pobrane z bazy danych oraz z plików konfiguracyjnych Joomla!.
Plik index.php zawiera mieszaninę:
Inaczej mówiąc, każda strona Joomla! powstaje z pliku index.php, w którym w miejscu specjalnych instrukcji umieszczane są treści pobrane z bazy danych oraz z plików konfiguracyjnych Joomla!. Każda wygenerowana strona jest typowym dokumentem (x)HTML.
Plik index.php będzie zapewne zrozumiały dla osób, które tworzyły strony internetowe w HTML. Struktura pliku index.php jest bardzo podobna do struktury plików HTML, a niekiedy można się nawet spotkać ze stwierdzeniem, że jest to „zwykły dokument HTML z fragmentami zapisanymi w języku PHP”. Podobnie jak w pliku HTML mamy w nim dwie główne sekcje <head> i <body>. Zasadnicza różnica polega na tym, że w pliku index.php w miejscach, w których ma się pojawić treść strony znajduje się kod php, jak w przykładzie poniżej.
Tradycyjna sekcja head dokumentu HTML:
<head> <title>Moja przykładowa witryna</title> <meta name="title" content="example" /> <link rel="stylesheet" href="www.example.com/css/css.css" type="text/css" /> </head>
I ten sam fragment napisany dla Joomla:
<head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>templates/mytemplate/css/css.css" type="text/css" /> </head>
Zamiast części nagłówka niezdefiniowanych w pliku index.php w miejscu instrukcji <jdoc:include type="head" />
oraz fragmentów kodu php zostaną wczytane treści pobrane z bazy danych oraz z plików konfiguracyjnych. W rezultacie oba powyższe skrypty dotrą do użytkownika w postaci takiego samego kodu. Gdy patrzysz na kod witryny Joomla!, wszystkie fragmenty typu <?php coś_tam />
zostaną zastąpione przez zwykły kod HTML.
Plik index.php powinien generować tylko te treści, które zmieniają się przy każdym odświeżeniu strony. Elementy takie jak stylizowanie wyglądu powinny być przeniesione do plików CSS, które są zapisywane w pamięci podręcznej przeglądarek użytkowników. W zamieszczonych tu poradnikach omówimy wszystkie techniczne aspekty tworzenia pliku index.php.
Nazwą index.htm oznaczano stronę domową - główną stronę witryny internetowej. W efekcie, gdy ktoś wywołał w przeglądarce witrynę www.przykład.com, otwierana była strona www.przykład.com/index.htm. A ponieważ Joomla! napisany jest w PHP, tym automatycznie serwowanym plikiem jest index.php. Rzecz jest nieco skomplikowana – faktycznie bowiem w przypadku Joomla!, gdy użytkownik wywołuje stronę główną, jest przekierowywany do pliku index.php znajdującego się w macierzystym katalogu domyślnego szablonu.