Un template di Joomla!, come tutte le estensioni del CMS, deve contenere:
- un file templateDetails.xml che lo descrive e che segnala oltre i file presenti le POSIZIONI dove potremo caricare i moduli
- almeno il file index.php contenente i tag di inclusione di JDoc per caricare header, moduli e componenti.
Un esempio è il seguente, templateDetails.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN"
"http://dev.joomla.org/xml/1.5/template-install.dtd">
<install version="1.5" type="template">
<name>miotemplate</name>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
</files>
<positions>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>bottom</position>
</positions>
</install>
…e il file index.php:
<?php defined( '_JEXEC' ) or die( 'Restricted access' );?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
</head>
<body>
<jdoc:include type="module" name="top" />
<jdoc:include type="component" />
<jdoc:include type="module" name="bottom" />
</body>
</html>
Alcune considerazioni:
In questo template andiamo a visualizzare, per tutte le pagine, i moduli nella posizione top, il contenuto della pagina per il componente corrente ed i moduli della position bottom.
Se volessimo aggiungere il pathway alle pagine, ad esempio, dovremmo aggiungere:
<jdoc:include type="module" name="breadcrumb" />
Il template ovviamente è molto semplice (mancano i file del foglio di stile, le immagini, ecc).
Nel caso includiate file (ad esempio il css), vi ricordo che è buona norma utilizzare il base_url per non inserire nel codice della pagina una url specifica, esempio:
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/miotemplate/css/style.css" type="text/css" />









