====== Kako od template-a za Joomla! 1.0.x napraviti template za Joomla! 1.5.x ======
[[http://docs.joomla.org/Tutorial:Upgrading_a_Joomla%21_1.0.x_template|Original uputstva na engleskom jeziku - Joomla! documentation]]
===== Šta treba promeniti u index.php: =====
- Zameniti _VALID_MOS sa _JEXEC
- Zameniti $mosConfig_absolute_path sa $this->baseUrl
- Zameniti $mosConfig_live_site sa $mainframe->getCfg( 'live_site' )
- Zameniti fiksne stringove sa promenljivim. Na primer, zameniti echo 'Hello' sa echo JText::_( 'Hello' )
- Zameniti poziv mosGetParam sa JRequest::getVar. Na primer, zameniti $id = mosGetParam( $_REQUEST, 'id', 0 ); sa $id = JRequest::getVar( 'id', 0 );
- Zameniti mosShowHead(); sa
- Zameniti mosMainBody() sa
- Zameniti mosLoadModules( $position_name, $style ); with
===== Model View Controller (MVC) =====
Ova struktura je implementirana u Joomla! 1.5, odvojeni su logika (programsko povezivanje), podaci i izgled. Znači da su HTML, CSS i drugi kodovi za prikazivanje Joomla!-e (u browserima) sada potupuno odvojeni od Joomla! logistike i ona je potpuno odvojena od template sistema. Ovo omogućava bolju kontrolu izgleda (dizajna) bez da se zalazi u osnovni kod Joomla-e.
===== Pozicije u Template-u =====
Pozicije su sada definisane u templateDetails.xml. Npr:
topleft
===== Joomla verzija =====
Oznaka verzije je sada deklarisana u template-u.
Npr: **** iz 1.0.x. se zamenjuje sa ****
===== Template parametri =====
Parametri mogu biti definisani u vašem šablonu. Ovo je definisano u templateDetails.xml. Podrazumevane vrednosti parametara se definišu u params.ini, koji je takođe pozvan iz templateDetails.xml kao template . Parametri se mogu podešavati u Administrator Template Manager i takođe u letu upotrebom template Javascript-a.
===== Template overrides =====
Svaki podrazumevani sitem chrome ('views') za bilo koji modul ili komponentu može da se “pregazi” sa template-om. Podrazumevani sistem chrome za svaki modul i komponentu sada se nalazi u modules/mod_modulename/tmpl i components/com_componentname/views/layout/tmpl. Paginacija takođe može da se promeni u pagination.php.
===== Objekti i metode =====
Joomla! 1.5 sistem je prearanžiran i sada sadrži JApplication layer, koji u sebi ima brojne objekte i metode koje se pozivaju iz template index.php. Na primer:
; se zamenjuje sa ,
se zamenjuje sa getCfg('sitename');?>,
se zamenjuje sa
===== Pozicije modula =====
U novoj verziji je i novi metod određivanja pozicija modula. Ova logika može da se upotrebljava za sklopive (collapsible) kolone (npr. nestajanje leve ili desne kolone ukoliko nemaju sadržaja). Funkcija iz 1.0.x mosCountModules se zamenjuje sa $this->countModules - dodaje se uslov: možete koristiti '+', '-', 'or' ili 'and', npr. if ($this->countModules('left or right') == 1).
===== Struktura fajlova =====
Tipična struktura template direktorijuma
Najopštije za template je da ima najmanje četiri fajla:
* index.php - Obezbeđuje logiku za prikaz i pozicioniranje modula i komponenti.
* template.css - Uređuje prezentacioni deo template-a uključujući definisanje stilova, margina, fontova, zaglavlja, podnožja, pozadine, itd.
* templateDetails.xml - Sadrži meta-informacije o šablonu koje koristi Installer i Template Manager.
* template_thumbnail.ext – zamenjuje .ext sa formatom slike (.jpg, .png, .gif) generalno, slika 200x150 piksela prikazuje se kada kursor miša pređe preko naziva template-a u Template Manager-u. Ovo daje adminitratoru uvid u izgled sajta pre nego sto ga primeni.
Tipični template za Joomla! 1.5 sadrži sledeće direktorijume:
* css - sadrži .css fajlove
* html - sadrži template override fajlove za core output i module chrome
* images – sadrži sve slike koje template koristi
===== Pristupačnost i standardi =====
Korišćenjem template overrides, moguće je kreirati Joomla!-u. Parametri i overrides omogućavaju bolju veb standardizaciju, pristupačnost, search engine optimisation (SEO) (source ordering and markup), prilagodljivost različitim jezicima i browser optimizacija (browser-dependent CSS).
===== Podrazumevani sistem template =====
Sistemski template (u /templates direktorijumu) je razvijen zbog uključivanja više CSS fajlova i standardni modules.php (module chrome) i component.php (component chrome). Možete uključiti neke podrazumevane CSS fajlove u vaš template. Npr.
===== Dodatni Javascript =====
Postoje i dodatni Javascript-ovi koje možete koristiti u vašem template-u. Npr.
Oni su uključeni u
===== Prikazivanje grešaka =====
Više podrazumevanih “error pages” su uključeni u sistemski template (403.php i 500.php).
Uvode se nove poruke o greškama, a njih definišete u