Szczegóły
Nowe obiekty i metody
Przeprojektowany framework Joomla 1.5 zawiera warstwę JApplication, która oferuje kilka obiektów i metod odnoszących się w szczególności do szablonów, do wykorzystania w głównych plikach szablonu - index.php (i ewentualnie innych). Przykładowo:- <jdoc:include type="head" /> w miejsce stosowanego w szablonach 1.0.x <?php mosShowHead(); ?>,
- <?php echo $mainframe->getCfg('sitename');?> w miejsce stosowanego w 1.0.x <?php echo $mosConfig_sitename; ?>
[uwaga: metoda $mainframe->getCfg() działa teraz w stosunku do wszystkich parametrów ustawianych w configuration.php], - <?php defined('_JEXEC') or die('Restricted index access'); ?> w miejsce stosowanego w 1.0.x <?php defined('_VALID_MOS') or die( 'Restricted access' ); ?>,
- <?php echo JURI::base();?> w miejsce stosowanego w 1.0.x <?php echo $mosConfig_live_site; ?>.
Poszerzona rola pliku templateDetails.xml
W Joomla 1.5 zwiększono konfiguracyjne funkcje pliku templateDetails.xml. Poza spełnianiem zadań znanych z Joomla 1.0 plik ten służy:- deklarowaniu pozycji modułów,
- obsłudze konfiguracji - deklarowaniu parametrów i kontrolek umożliwiających ich ustawianie.
- definiowaniu plików językowych obsługujących szablon.
Element główny: install zamiast mosinstall
Kosmetyczną, ale istotną jest również zmiana nazwy elementu głównego. W szablonach dla Joomla 1.0 wszystkie elementy obejmował element główny <mosinstall>, w Joomla 1.5 obejmuje element <install>, a składnia znacznika otwierającego jest następująca:
Kod:
<install type="template" version="1.5">
W przypadku szablonu dla Joomla 1.5 oba argumenty, zarówno type, jak i version są obowiązkowe. Próba instalacji szablonu, w którym w pliku templateDetails.xml nie zostanie określona w znaczniku <install> wersja Joomla! zakończy się niepowodzeniem i komunikatem: "Prawdopodobnie Twoje rozszerzenie zostało napisane dla starszej wersji Joomla!. Pomocne może być włączenie dodatku System - Spuścizna (Legacy Plugin)". W znaczniku <mosinstall>, w plikach szablonów dla Joomla 1.0 argument version nie miał żadnego praktycznego znaczenia.
Uwaga: Brak argumentu version w znaczniku <install> powoduje jedynie błąd podczas instalacji szablonu. Jeśli jednak pliki szablonu umieścimy na serwerze za pomocą FTP, Joomla 1.5 obsłuży szablon poprawnie także i wówczas, gdy argumentu version nie będzie.
Deklarowanie pozycji modułów
W szablonach dla Joomla! 1.5 deklarowanie pozycji modułów zostało przeniesione do pliku templateDetails.xml. Służy temu nowa sekcja pliku, tworzona znacznikiem <positions>, obejmującym znaczniki <position> deklarujące konkretne pozycje. Na przykład:
Kod:
<positions>
<position>top</position>
<position>left</position>
</positions>
Ponadto pozycje modułów są obsługiwane przez Joomla! bez względu na to, czy zostaną zadeklarowane w pliku templateDetails.xml. Aby umieścić pozycję modułów na liście pozycji możliwych do wykorzystania, wystarczy je wpisać bezpośrednio w polu otwierającym rozwijaną listę wyboru Pozycja modułu w edytorze dowolnego modułu.
Parametry szablonu
Fascynującą właściwością szablonów dla Joomla 1.5 jest prosty sposób definiowania w pliku templateDetails.xml różnych parametrów konfiguracyjnych. Grupujemy je w elemencie params, umieszczając każdy między znacznikiem opisującym param oraz umieszczonymi wewnątrz nich – w niektórych przypadkach – elementami option z atrybutem value. Domyślne wartości parametrów przechowujemy w pliku params.ini, który - podobnie jak plik templateDetails.XML jest jednym z plików szablonu. Parametry można konfigurować na zapleczu w edytorze szablonu, a także "w locie", korzystając z Javascript.
Oto przykład deklaracji w pliku templateDetails.xml:
Kod:
<params>
<param name="colorVariation" type="list" default="white" label="Wersja kolorystyczna" description="Zaznacz domyślną wersję kolorystyczną ">
<option value="">Domyślna</option>
<option value="blue">Błękit</option>
<option value="red">Czerwień</option>
<option value="green">Zieleń</option>
</param>
</params>
Znacznik <params> rozpoczyna, a znacznik </params> kończy sekcję definiującą dostępne opcje konfiguracyjne.
API Joomla 1.5 udostępnia 21 typów parametrów, które można wykorzystać w projektowaniu szablonów. Możliwe jest również definiowanie nowych własnych typów.
Deklaracja plików językowych
Joomla 1.5 umożliwia lokalizację wszystkich elementów, także szablonów. Możliwe jest zarówno tłumaczenie napisów w plikach definiujących wygląd stron (index.php i innych), jak i w pliku konfiguracyjnym templateDetails.xml. Napisy w domyślnym języku oraz tłumaczenia deklarowane są w specjalnych plikach w formacie INI, a informację o plikach językowych dołączonych do szablonu umieszczamy w dwóch sekcjach:- sekcji <languages> w przypadku plików definiujących napisy wyświetlane na stronach witryny:
<languages>
<language tag="en-GB">en-GB.tpl_nazwaszablonu.ini</language>
<language tag="pl_PL">pl-PL.tpl_nazwaszablonu.ini</language>
</languages>
- sekcji <languages> z atrybutem folder="admin" umieszczonej w sekcji <administration> w przypadku plików definiujących napisy wyświetlane na stronach zaplecza:
Albo o dołączonych do szablonu zaplecza:
Kod:
<administration>
<languages folder="admin">
<language tag="en-GB">en-GB.tpl_nazwaszablonu.ini</language>
<language tag="pl_PL">pl-PL.tpl_nazwaszablonu.ini</language>
</languages>
</administration>
Podmiana domyślnych widoków
Standardowy system ramek ('wyglądu') zdefiniowany w kodzie modułów i komponentów oraz paginacji może być nadpisany przez szablon. Pliki definiujące domyślne wyglądy każdego komponentu i modułu znajdują się w katalogach modules/mod_modulename/tmpl oraz components/com_componentname/views/layout/tmpl. Standardowe ramki paginacji zdefiniowane są w pliku pagination.php. Projektant może umieścić w katalogu szablonu własne skrypty modyfikujące standardowe rozwiązania.