Een eigen Joomla template maken (10) – een nieuwe index
In het vorige artikel heb je de basisstructuur van Joomla ingericht voor je eigen website. Nu is het tijd om de index.php te voorzien van een eigen indeling. Mijn bedoeling is dat ik vormgeving van whelp.nl omzet naar een Joomla omgeving.
De nieuwe opzet
Om te beginnen maak ik een schets van de indeling van whelp.nl. Die ziet er ongeveer zo uit:

Kort samengevat: Links en rechts een zijkolom. Boven een header (met logo en basistekst), daaronder de navigatie en daaronder 3 onderdelen: Content kolom (met Artikelen), kolom 1 en kolom 2. Tot slot de footer (deze staat niet in de afbeelding, maar is even breed als het logo onderdeel.
Hoe kom ik aan het ontwerp?
De indeling van de site heb ik gemaakt op basis van het 3 Column Relaxation Theme voor WordPress. Een kenmerk aan het ontwerp is dat de middenkolom even breed blijft en de linker- en rechterkolom smaller of breder worden afhankelijk van de breedte van je beeldscherm. Dit heet een fluid ontwerp. Het midden is ongeveer een A4.
De indeling in CSS
De indeling is volledig met DIVs opgebouwd (ik maak dus geen gebruik van tabellen). Voordeel hiervan is dat het eenvoudiger is om het aan te passen.
<div id="page">
<!– Start logo –>
<div id="logo">Logo en omschrijving</div>
<!– End logo –>
<!– Start navigation –>
<div id="navigation">Navigatie</div>
<!– /End navigation –>
<!– Start wrapper –>
<div id="wrapper">
<!– Start content kolom –>
<div id="content">Artikelen</div>
<!– /End content kolom –>
<!– Start sidebar 1 –>
<div id="sidebar">Sidebar 1</div>
<!– /End sidebar 1 –>
<!– Start sidebar 2 –>
<div id="sidebar2">Sidebar 2</div>
<!– /End sidebar 2 –>
</div>
<!– End wrapper –>
<!– Start footer –>
<div id="footer">Footer</div>
<!– /End footer –>
</div>
<!– End page –>
Toelichting
Een paar opmerkingen:
1) Zoals je kunt zien voorzie ik ieder onderdeel van commentaar, ook de afsluitende tags. Het voordeel hiervan is dat je later in de broncode beter kunt zien hoe de code is opgeboud.
2) De hele pagina is ingesloten in de page div. Hiermee kan je (in combinatie met een centreer commendo) de linker en rechter kolom maken.
3) Het middelste gedeelte van de pagina is ingedeeld in een wrapper. Dit concept is nodig om de drie kolommen (content, sidebar 1 en sidebar 2) naast elkaar te laten zien.
4) Binnen de content div komt de hoofdinhoud van de pagina.
5) Ik heb nog geen Joomla code geschreven, deze zal ik later toevoegen.
Het voorlopig resultaat
Het huidig resultaat versie 1 is geraamte met DIVs, maar zonder de juiste indeling. (Voor het gemak heb ik de elementen voorzien van een paar randjes.
De juiste posities geven aan de DIVs
De volgende stap is een stylesheet mee te gaan geven aan de pagina. Vooralsnog doe ik dit door het gewoon in de header van de pagina in te sluiten (dus binnen de head tags).
Voor de body tag en de verschillende DIVs definieer ik het volgende:
background:#B3EFEF none repeat scroll 0% 50%;
color:#BFBFBF;
font-family:"Lucida Grande","Lucida Sans Unicode","Lucida Sans",Verdana,Arial,sans-serif;
font-size:11px;
padding:0pt;
}
#page{
margin:0pt auto;
padding:0pt;
text-align:left;
width:920px;
}
#logo{
background-color:#FFFFFF;
border-bottom:1px solid #A8A8A8;
height:115px;
margin:0pt 10px;
text-align:left;
}
#navigation{
background:#DA023C none repeat scroll 0%;
padding:5px 0px 0px 10px;
border-bottom:1px solid #A8A8A8;
height:24px;
margin:0pt 10px;
text-align:left;
}
#wrapper{
float:left;
margin:0pt;
padding:0pt;
}
#content{
color:#000000;
float:left;
left:100px;
line-height:1.5em;
margin:0pt 0pt 0pt 5px;
overflow:hidden;
padding:0px 20px 0pt 25px;
text-align:left;
width:528px;
}
#sidebar{
color:#000000;
float:left;
font-size:11px;
margin:5px 5px 5px;
padding:10px;
text-align:left;
width:140px;
}
#sidebar2{
color:#444444;
float:left;
font-size:11px;
margin:5px 0pt;
padding:10px;
text-align:left;
width:140px;
}
#footer{
clear:both;
color:#808979;
font-size:11px;
height:110px;
margin:0pt;
padding:10px 358px 10px 30px;
}
Dit leidt tot het volgende, voorlopige resultaat versie 2.
Toelichting
Het belangrijkste is dat je met behulp van de commando's width, float en clear de positie van de elementen kunt bepalen.
De achtergrond toevoegen
Tot slot geef ik een achtergrond mee aan de page div.
background:transparent url(images/middle.gif) repeat-y scroll center top;
margin:0pt auto;
padding:0pt;
text-align:left;
width:920px;
}
Dit zorgt voor de drie kolommen en is nodig omdat je in CSS zeer moeizaam kolommen tot aan de onderkant van de pagina kunt voorzien van een kleur. We zijn nu aan voorlopig eindresultaat versie 3.
Hoe nu verder?
De volgende stap is 1) het stylesheet onder te brengen in een apart document en 2) de content uit Joomla met Joomla eigen code toe te voegen aan de index. Het is mogelijk dat de benaming van de elementen van het stylesheet nog aangepast moeten worden.
Artikelenserie - Een Joomla template maken
- Een eigen Joomla template maken (1) – inleiding
- Een eigen Joomla template maken (2) – templateDetails.xml
- Een eigen Joomla template maken (3) – modules en posities
- Een eigen Joomla template maken (4) – rechten, locaties en volgorde
- Een eigen Joomla template maken (5) – de header van index.php
- Een eigen Joomla template maken (6) – de body van index.php
- Een eigen Joomla template maken (7) – de footer van index.php
- Een eigen Joomla template maken (8) – inleiding in CSS
- Een eigen Joomla template maken (9) – basisstructuur
- Een eigen Joomla template maken (10) – een nieuwe index
- Een eigen Joomla template maken (11) – een nieuwe header
- Een eigen Joomla template maken (12) – een nieuwe body met includes
- Een eigen Joomla template maken (13) – logo, omschrijving en zoekveld
- Een eigen Joomla template maken (14) – de navigatie (dl 1)
- Een eigen Joomla template maken (15) – de navigatie (dl 2)
- Een eigen Joomla template maken (16) – de body aanpassen van de homepage
- Een eigen Joomla template maken (17) – de homepage vullen en vormgeven
- Joomla Template (18) – Artikelen toevoegen aan Joomla (1)
- Joomla Template (19) – Artikelen toevoegen aan Joomla (2)

Een eigen Joomla template maken (11) - een nieuwe header - WHELP!
23.05.07 - 9:47
[...] het vorige artikel zijn we geëindigd bij een nieuwe Joomla index met DIV elementen. De laatste website zag er nogal summier uit, maar de contouren waren zichtbaar. We gaan de [...]
josephine
16.06.07 - 20:55
Hallo!
Ten eerste: Complimenten voor deze duidelijke artikellen. Maar ik heb een aantal vragen, nu ik zelf aan het proberen ben een template te maken…
De dingen die u in dit artikel doet, komt dat allemaal in één bestand te staan? Zo ja, wat voor type? php? html? En zo nee, hoe moet ik dit dan doen.
M.v.g. Josephine
Theo Bakker
16.06.07 - 22:59
Beste Josephine,
dank voor je compliment. Het template is opgebouwd uit php bestanden. Ik heb het template voor je gezipt en bij de downloads gezet zodat je het zelf kunt installeren en inzien.
Vriendelijke groet, Theo
Cees
09.08.07 - 11:03
Duidelijke uitleg, maar vreemd genoeg gaat mijn hele layout naar de kl… als ik bij page het stukje background met de gif opneem in de stylesheet. Doe ik iets fout? Jammer genoeg werkt de downloadlink niet, geeft een 404-fout. Verder prima uitleg, wacht met smart op het vervolg.
Theo Bakker
09.08.07 - 17:59
Dag Cees,
aan het downloadprobleem wordt gewerkt. Zodra dit is opgelost, zal ik kijken naar je probleem.
Groet, Theo
Cees
13.08.07 - 9:52
Theo,
Het weergaveprobleem bij het opnemen van de gif is opgelost. Was een heel domme typo…..
Wel bedankt voor je reactie!
Groet,
Theo Bakker
18.08.07 - 12:26
Dag Cees,
de downloadpagina werkt inmiddels weer. En typo's zijn inderdaad altijd erg lastig. Heb ook wel eens uren zitten turen.
Groet, Theo
Willem Luijk
23.11.07 - 14:27
Theo,
Schitterend deze tutorial. Wat ik alleen niet werkend krijg is dat die footer meelift met de lengte van content.
Hoort die footer nou mee te gaan of is IE fixed?
Er zijn nogal wat ideeen over. Er schijnen zelfs oplossingen te zijn waarbij zowel onderkant content als onderkant zichtbare pagina meespelen. Zo advanced hoeft het van mij niet. Artikelen moeten gewoon voldoende schermvullend zijn met daaronder de footer.
Louis Hissink
02.01.08 - 17:48
Theo.
Ik kan met myeclipse allerlei bestanden maken maar een index.php bestand wil maar net lukken met myeclipse.
Kan je dit snel en eenvoudig uitleggen?
Alvast bedankt.
Theo Bakker
02.01.08 - 20:25
Dag Louis,
hiervoor heb ik een php plugin geinstalleerd: zie http://www.PHPEclipse.net.
Groet, Theo
Kees van Dongen
24.02.08 - 13:10
Beste Theo,
Ben net voor het errst op je site. Wat een ontzettende prettige en duidelijke uitleg. Mijn complimenten.
Ik zal hier veel te vinden zijn.
Dank!
Groeten,
Kees
Martha Posthumus
29.06.08 - 16:49
Hallo Theo,
Terwijl ik druk bezig ben om met jouw uitleg een template te maken kwam ik een gebroken link tegen, namelijk die van:
3 Column Relaxation Theme
Ik ben nog lang niet uitgeleerd, maar ik laat vast nog wel van me horen.
Alvast bedankt voor je duidelijke uitleg.
groetjes Martha