We zijn toe aan het laatste deel van deze serie. In het vorige deel hebben we alle componenten omgezet naar jdoc:includes en die gestijld met Cascading StyleSheets. Nog één element moet nog worden aangepast zodat het ook echt een Joomla 1.5 template wordt: de hoofdnavigatie (de ‘notenbalk’). Dit gaan we doen met een specifieke module. Dit gaat in drie stappen.
1. Een custom module maken
Het is mogelijk in Joomla 1.5 om zelf een module te maken die je met een jdoc:include aanroept. Het ons om de code die de notenbalk op het scherm zet. Die sluiten we nu in met een gewone php include:
Om dit om te zetten naar een functie maken we een nieuwe map aan: html. In deze map maken we een nieuw bestand: modules.php. In dezelfde map zetten we een index.html bestand dat verder leeg is. Hiermee voorkom je een directory listing (vermoed ik). Ook hier gebruik ik het voorbeeld van rhuk_milkyway. Het raamwerk van deze pagina ziet er als volgt uit:
a) Bovenaan staat wat code om directe toegang tot deze pagina te voorkomen.
b) Hierna komt de functie die al het werk doet. De naam van de functie, modChrome_topnavigationDivision(), heb ik zelf eraan gegeven. Deze moet beginnen met modChrome_. Aangezien ik de topnavigatie erin wil zetten heb ik hem modChrome_topnavigationDivision genoemd.
c) Met $module, &$params, &$attribs zorg je ervoor dat de waarden die je aan je jdoc:include meegeeft ook worden doorgegeven aan deze functie.
d) Binnen de functie willen we het pad van de afbeeldingen en de website weten. We voegen daarom een paar regels toe. Op deze manier kunnen we zowel het adres van de website (voor URLs noodzakelijk), als het pad naar het template (nodig voor de afbeeldingen) gebruiken.
e) Op de plek waar nu nog staat ‘de navigatie komt hier’ zetten we de inhoud van de oorspronkelijke include.
Het is nogal een lap tekst, dus die laat ik voor nu even buiten beschouwing. Ter illlustratie een klein stukje van deze code:
2. De module een plek geven in de backend
Nu je je module hebt moet je deze ergens een plek geven in je template. Ga hiervoor via de backend een nieuwe ‘dummy’-module maken die je gebruikt om hierna de nieuwe functie aan te roepen in het template.
a) Ga naar Extensies > Module beheer en klik op Nieuw.
b) Kies hier uit alle mogelijkheden de eerste: Aangepaste HTML module en klik op Volgende.

c) Stel deze nu zo in dat de module wordt toegewezen aan positie user3 (dat is nl de oorspronkelijke locatie voor het topmenu). Laat de inhoud verder leeg.

d) Bewaar de nieuwe module.
3. De module insluiten in de pagina
Nu je dit hebt gedaan kan je met jdoc:include de module insluiten in de pagina.
De ‘name’ is de positie, de style is de naam van de custom module die we hebben gemaakt. Het voordeel van deze methode is dat je variabelen kunt gebruiken in je module. Dit is niet mogelijk in het HTML venster van een Aangepaste HTML module.

Tot slot: de knop om
Je hebt nu een geldig Joomla 1.5 template. De knop kan om! (Helaas is dat voor deze site nog niet het geval, omdat de community builder plugin die we gebruiken nog niet compatible is met Joomla 1.5).
Mocht je geen extensies gebruiken die afhankelijk zijn van Joomla 1.0.x, doe dan het volgende:
a) Ga naar Extensies > Pluginbeheer
b) De-activeer System-Legacy
Hiermee zijn we aan het eind van deze serie.