Joomla templates
En template er en designmal med definerte stiler og modulposisjoner. Den bestemmer hvordan websiden din ser ut.
Du kan laste ned / kjøpe ferdige templates fra Internett og installere dem via administrasjonsdelen av din Joomla-side. Se veiledning i artikkelen Templates - installasjon og bruk. Eller du kan bygge en template fra bunnen av.
En Joomla template består hovedsakelig av CSS-filer, bilder, og en hovedfil - index.php - som er bindeleddet mellom selve publiseringsverktøyet Joomla og templaten. Ofte finner du også JavaScript-filer i en Joomla template.
Lenger ned på denne siden finner du en beskrivelse av de ulike bestanddelene i en Joomla template.
Layout og stiler
Layouten i en Joomla template er header-området, body-området og modulposisjonene. Layouten defineres i templatens index.php fil, men innholdet genereres av Joomla.
- Header-området er for meta-informasjon, som meta-beskrivelse, tags, informasjon om tegnsett, språk, generator og sidetittel.
- Body-området viser innhold fra komponenter. Hovedsakelig artikler, men også innhold fra komponenter som nettbutikk, dokumentarkiv, skjema osv.
- Modulposisjonene er til å plassere moduler i.
Moduler er bokser med ulike typer innhold, som ligger utenfor body-feltet. Det finnes et utall forskjellige moduler til visning av ulike typer innhold. For eksempel: Annonser, innloggingsskjemaer, menyer, feeds eller korte tekster.
Se også: Joomla moduler og modulposisjoner
Stilene defineres i CSS-filer som er adskilt fra layouten, som igjen er adskilt fra innholdet på websiden. Det kan høres innviklet ut, men disse inndelingene er til for å spare tid og krefter.
Se også: Design og CSS
Bestanddelene i en Joomla template
Template-mappen
Alle filer knyttet til en Joomla template befinner seg i en egen template-mappe. Denne ligger i /public_html/templates/ og har et mappenavn som verken inneholder uvanlige karakterer eller mellomrom.
index.php
Den viktigste filen i template-mappen er index.php. Det er denne filen Joomla oppfatter som basisen i templaten, og det er den som "kontaktes" for å få informasjon om hvordan ting skal vises i nettleseren.
Filen index.php består av HTML, inkludert informasjon om header-området, body, - hele layouten. Alt dette er HTML-kode ( markup ).
I HTML-en ligger små biter med kode som kaller opp spesifikke Joomla-handlinger. For eksempel:
<jdoc:include type="module" name="right" />
Dette er koden for å vise modulene i høyre modulposisjon.
type="component" brukes for å vise innhold fra komponenter, enten det er vanlige Joomla-artikler ( com_content ) eller andre komponenter.
I index.php defineres hva som skal vises og hvor det skal vises. Innholdet i de forskjellige områdene er det Joomla som genererer. Dette gjelder ikke bare artikler, moduler osv., men også hva som befinner seg i header-området.
CSS-filer
Hvordan ting skal vises, defineres i egne CSS filer. Bredde, høyde, farger, fonter, størrelsen på elementer, rammer osv. Alt som er visuelt bør defineres i CSS-en.
Mer om CSS i artikkelen Design og CSS
Bilder
Det er mulig å lage en template uten bildefiler i seg, men det kan fort bli kjedelig. Hvis man ønsker effekter som forløpninger, mønstre i websidens bakgrunn, avrundede hjørner osv., må man ta i bruk bilder. Bildene legges i en egen bildemappe i template-mappen. Hvor og hvordan bildene vises i nettleseren defineres i CSS-en.
JavaScript
Joomla bruker Mootools som en del av sin kjernekode. Mootools er et Open Source JavaScript-bibliotek, som brukes til å gi templates utvidet funksjonalitet, som for eksempel dropdown-menyer og andre animasjonseffekter.
Slik utvidet funksjonalitet defineres i egne javascript-filer som må kalles opp i index.php
Template overrides
De fleste kjernekomponentene og modulene i Joomla leveres med forhåndsdefinerte templates. Dette gjelder for eksempel com_content og mod_mainmenu.
Noen ganger opplever man at forhåndsdefinerte templates kommer i konflikt med det uttrykket man ønsker. Man vil kanskje at com_content skal ha en layout uten tabeller, noe som i skrivende stund ikke er standard i Joomla. Det er i slike tilfeller man bruker template overrides.
Eksempel:
Normalt defineres visningen av en Joomla-artikkel i filen com_content/views/article/tmpl/default.php. Vi ønsker å gi denne visningen en annen layout, så vi lager en ny default.php, men legger den her: templates/myTemplate/html/com_content/article/default.php
Joomla oppfatter at den nye filen finnes i template-mappen, og gir den prioritet over den gamle filen.
Grunnen til at vi gjør det på denne måten i stedet for å erstatte den opprinnelige filen, er at senere oppgraderinger av Joomla erstatter alle kjernefilene i Joomla-installsjonen. Hvis den nye templatefilen com_content/article/default.php ble erstattet ved oppgradering, risikerer vi å miste de tilpasningene vi har gjort.

