L'intestazione e il piedino sono impostati da themeheader e
themefooter. In generale è responsabilità di themeheader
creare la tabella principale del sito. Questa tabella permette
la classica struttura a tre colonne, variandola si possono ottenere altre
strutture. Inoltre questa funzione deve anche preoccuparsi di creare i blocchi
laterali, o almeno il blocco di sinistra (che deve venire visualizzato prima
del modulo al centro) chiamando esplicitamente la funzione blocks(left)
. Ecco il codice di esempio:
function themeheader() { // intestazione echo "<body bgcolor='#abcdef' text='000000' link='red' vlink='green'>"; echo "<table border='1' align='center' width='100%'>"; echo "<tr><td align='center' bgcolor='green'>"; echo "<h1>Tema PHPNuke di Michele Sciabarrà</h1>"; echo "</td></tr></table>\n"; // corpo - tre colonne classico echo "<table border='1' width='100%'><tr>\n"; echo "<td valign='top' align='center' bgcolor='#abcd80'>"; blocks(left); echo "</td><td valign='top' width='100%'>"; }
La funzione themefooter() deve chiudere le tabelle aperte da
themeheader(). Inoltre c'è una importante "finezza": generalmente
l'indice del portale è a tre colonne ma il dettaglio di un articolo
è meglio che sia a due colonne. Infatti quando viene visualizzato
un articolo, viene affiancato da blocchi quali gli articoli correlati. Per
questo motivo è bene che il footer non crei il blocco di destra se
si sta visualizzando un articolo. Il modo di operare è semplicemente:
controllare la variabile $index e visualizzare la colonna di destra
solamente quando è falsa. Il codice è il seguente:
function themefooter() { global $index; if($index == 1) { echo "</td>\n"; echo "<td valign='top' bgcolor='abcd80'>"; blocks(right); } echo "</td></tr></table>\n"; footmsg(); echo "</body>"; }
Il risultato è il seguente:
Figura 5 - Dettaglio di un articolo senza blocchi
|