FlatNuke MiniHOWTO - Creare un blocco centrale

di Marco Segato

v2.0, 20 gennaio 2006
La struttura standard di un FlatNuke è la seguente: una serie di blocchi ai lati destro e sinistro, un messaggio di benvenuto nella parte centrale in alto, e sotto questo lo sviluppo delle notizie pubblicate. Di seguito cercherò di spiegare come poter inserire un nuovo blocco centrale, che si ponga tra il messaggio di benvenuto del sito e le notizie pubblicate nella parte sottostante.

1. Brevi note prima di iniziare

Tutte le indicazioni descritte in questo documento si riferiscono alla versione ufficiale di FlatNuke; per pura scelta personale, quando vado a modificare files propri di FlatNuke, preferisco intervenire il meno possibile sugli originali, quindi il metodo che presenterò cercherà di essere il meno invasivo possibile.
Potete contattarmi per eventuali consigli, suggerimenti o correzioni all'indirizzo segatom(AT)users.sourceforge.net.

2. In che parte del codice di FlatNuke intervenire?

Il codice che si occupa di generare le varie parti della pagina principale si trova in functions.php. Più precisamente dovremo posizionarci all'interno delle funzione create_news() (che in FlatNuke 2.5.7 si trova alla riga numero 808), tra il:


CloseTable();

e il:

$handle=opendir('news');

Ma perchè proprio qui? Se osservate, due righe prima viene fatto l'include di motd.php che è la tabella con il messaggio di benvenuto del sito, mentre il ciclo while che c'è due righe sotto comincia a processare tutte le news, quindi è corretto che noi ci posizioniamo lì in mezzo. Scriveremo:

include("nomemioblocco.php");

nomemioblocco.php sarà ovviamente il file che conterrà il codice del nostro nuovo blocco, di conseguenza creeremo un file nella directory principale di FlatNuke con lo stesso nome. Naturalmente, se vogliamo inserire più blocchi basta ripetere questa riga creando nuovi file.

3. Creiamo il nuovo blocco da inserire

Ora occupiamoci del file nomemioblocco.php che sarà così composto:


<?
echo "<br>";
OpenTable();
echo "ciao mondo!";
CloseTable();
?>

Queste banalissime righe creano un blocco con una tabella, al cui interno compare la scritta "ciao mondo!". Analizziamo riga per riga il codice:

<? e ?> agli estremi indicano rispettivamente l'inizio e la fine del nostro codice PHP;

echo "<br>"; inserisce una riga vuota: diciamo che è bene inserirla così da separare il nostro blocco da quello che sta sopra e non averli uno addossato all'altro;

OpenTable(); e CloseTable(); sono due funzioni dei temi di FlatNuke, aprono e chiudono semplicemente una tabella; se volete che il layout sia come quello delle news o dei blocchi laterali, basta utilizzare "OpenTableTitle("testotitolo");" per l'apertura al posto di "OpenTable();";

echo "ciao mondo!"; come già detto stampa a video la stringa compresa tra virgolette.

4. Godiamoci il risultato

Ok, abbiamo terminato il nostro nuovo fiammante blocco, colleghiamoci al nostro FlatNuke ed ammiriamo la nostra neonata creatura... L'esempio è volutamente semplicistico, ma non ci sono limiti alla complessità degli script che si possono produrre: HTML, PHP, JavaScript, potete inserire tutto quello che vi pare! Andate e sbizzarritevi :-)