. ::  Rilasciato Nuovissimo BB3 Iamma Central Block  ::  Nasce Mondophpnuke.com  ::  Quale Computer - Gen 2010  ::  Tema Soccer-Football  ::  Modulo E-Commerce 4 Nuke ::.
Benvenuto su PHP-Nukefordonkeys.com Donkeys76 Mercatino 1200Temi Manuale
 
Benvenuto su PHP-Nukefordonkeys.com

  Iscriviti! E' Gratis!                                                                                      
Menu Generale
Home
News
Archivio News
Invia News
Mappa del Sito
Recensioni
Trova Tutto
Utenti
Forums
Downloads
Contatti
Top Nuke Italia
Web Links
1 Million Nuke Pixel
Tutorials
Speciali
Manuali
PHPNuke Tools
Utility
Gallerie
Nuke Shopping
Documenti

La Tua WebAgency


Recensioni Siti
· MemHT Portal
· Web Agency
  Il tuo sito qui

**************
·Casino online
·Sfrutta meglio il web

100 Power Scripts

Mega Pack





Come scrivere Temi PHPNuke
Stampa

Pagina: 1/6

 

Attenzione: questo manuale è disponibile anche in formato Pdf qui MANUALE PER TEMI PHPNUKE-v0.0.1beta.rar

PREMESSA
In questo corso proveremo a spiegare come fare un tema per PHPNuke. Io non mi considero un esperto e quello che leggerete è semplicemente il risultato di esperienze dirette vissute mettendo le mani negli scripts. Appena terminerete il corso sicuramente non sarete “padroni del mestiere” ed avrete ancora molti dubbi, niente paura! Il consiglio è quello di rileggere, provare-senza timore- in locale, ad esercitarvi direttamente sui files e vedrete che tutto diventerà più chiaro giorno dopo giorno.

Scrivere un tema Nuke non è particolarmente difficile ma sicuramente è molto ma molto più difficile descrivere come fare… Ho iniziato la stesura di questi appunti più di un anno fa con l’intento di perfezionarli al massimo prima di rilasciarli alla community ma il tempo è volato e l’obiettivo prefissato era sempre più lontano. Purtroppo il tempo disponibile è poco e per questo motivo ho deciso di rilasciare il lavoro in versione beta auspicando che chi lo leggerà potrà collaborare alla versione definitiva. Saranno gradite segnalazioni di errori di battitura e, ancora di più, segnalazioni di errori concettuali e relative correzioni. Grazie in anticipo a chi vorrà darmi una mano.
Ora basta con le chiacchiere, è tempo di iniziare.

Requisiti
Per applicare il contenuto di questo manuale è indispensabile conoscere il linguaggio Html, conoscere almeno le basi del PHP e il funzionamento del Nuke.

 

PRIMA PARTE: TEMI IN PHP

Come è fatta una pagina PhpNuke
Qualsiasi pagina che vedi in un portale realizzato con PhpNuke è formato dalle seguenti parti:


1. Testata - Dove si trovano il logo, il menu, ecc... del tuo sito
2. Colonne - Che sono sempre tre e contengono: i Blocchi di destra, i Blocchi centrali e i Blocchi di sinistra.
3. Piè di pagina - è l’area dove di solito si trovano informazioni varie ed il copyright.
Schematizzando quanto appena detto ecco la struttura classica di un sito PHPNuke. 
 

TESTATA ( HEADER )





COLONNA SINISTRA


 

COLONNA CENTRALE





COLONNA DESTRA

PIE' DI PAGINA ( FOOTER )

 

Quando avete installato la prima volta PHP-Nuke vi sarete accorti che la struttura è alquanto diversa dal sito Html che probabilmente molti di voi conoscono, anche la struttura delle pagine php è diversa da quella Html. In un file Html tutta la pagina si sviluppa in una sequenza lineare e cioè abbiamo il logo poi il menu, la parte centrale, ecc.... le pagine php non sono organizzate così.
Per molti di noi non è facile creare pagine php proprio perchè siamo abituati a lavorare con editor Wysiwig come FrontPage, Dreamweaver, dove basta inserire immagini, links, testi, ecc... e tutto ciò che vediamo è esattamente ciò che verrà pubblicato: in php, purtroppo, non è così!
Non esistono editor Wysiwig per php e quindi per creare una pagina occorre necessariamente scrivere il codice a mano, anche se, come vedremo nelle pagine successive, riusciremo a manipolare alcune parti dei temi anche con Frontpage o Dreamweaver.
Un’altro importante aspetto del php è il fatto che questo tipo di linguaggio viene eseguito sul server a differenza dell' Html o del JavaScript che sono eseguiti nel browser. Questo significa che quello che viene scritto in un file php viene letto e interpretato sul Server ed il risultato, che poi altro non è che la pagina, inviata al Browser.
Ora, prima di continuare, occorre chiarire alcuni concetti base che troverete più avanti all’interno del codice dei temi. Non vi spaventate se non capite subito il significato di alcuni termini, per quello che vi serviranno sarà sufficiente che ne cogliate il concetto base e a cosa servono.

Variabili
Sono gli elementi più facilmente riconoscibili in quanto iniziano con il simbolo $, per esempio $sitename. Queste variabili sono molto usate in tutti i files del Nuke in quanto permettono di richiamare in modo semplice e rapido nomi, immagini e quant’altro. Per esempio se in uno script trovate la scritta $sitename questa verrà interpretata come il "Nome del Sito", cioè dove si mette questa variabile apparirà il nome del sito. Possiamo trovare, per esempio, $bgcolor2 che verrà interpretata come “lo sfondo dell’area deve avere il colore 2” naturalmente in un altro punto dello script saranno definiti i colori corrispondenti ai vari numeri. Questo aspetto lo vedremo in pratica non appena inizieremo costruire il nostro primo tema che inizierà proprio con la definizione dei colori del sito.

Funzioni
Sono gli elementi che danno la forma al Nuke, la struttura generale viene definita per mezzo delle funzioni. Il contenuto delle Funzioni si inserisce tra due simboli { } . All'inizio della Funzione utilizziamo la parola global e subito dopo aggiungiamo le variabili che verranno usate. In questo modo è come se dicessimo a Nuke "Allora caro Nuke adesso includi queste Variabili”

echo " ";
Tutto ciò che è tra le virgolette viene interpretato dal browser, cioè quello che scrivi all’interno delle virgolette è esattamente quello che si vedrà nella pagina.

Ci sono molte altre cose da dire sul linguaggio php ma, per il momento, limitiamoci ed iniziamo a creare il nostro primo tema, un tema semplice e senza pretese in quanto lo scopo è quello di iniziare a prendere confidenza con le nozioni base. Probabilmente il tema che andremo a realizzare adesso non lo userete mai per il vostro sito ma occorre comunque studiarlo perchè in tal modo acquisiremo molte ed importanti nozioni che saranno utilizzate anche sui temi più complessi e belli graficamente.
 
Struttura di un tema in Php
Come sapete ogni tema è contenuto in una cartella che porta proprio il nome del tema quindi la prima operazione che faremo sarà quella di creare la cartella principale del tema dandole un nome, noi la chiameremo Donkey.

Questa cartella dovrà sempre contenere come minimo le seguenti cartelle e files:
1. Un file theme.php
2. Un file style.css, che metteremo in una cartella chiamata style
3. Una cartella che chiameremo images (con le immagini del tema)
4. Aggiungiamo un file index.html in ogni cartella (si tratta di un file html completamente vuoto)

Preparazione del file theme.php
Nei file in linguaggio php possiamo combinare codice php e html, è quello che faremo anche in questo tutorial nel file theme.php.
Con il vostro editor aprite una nuova pagina e nominatela theme.php
Dovete sapere che qualsiasi file scritto in php deve essere inserito tra un'etichetta di apertura ed una di chiusura: alcuni editor lo fanno automaticamente quando aprite una nuova pagina, se invece usate editor semplici come ad esempio Notepad dovete inserirle manualmente. E' molto semplice in quanto dovete scrivere solo <?php e ?>

Codice

<?php = Etichetta di apertura
*Contenuto*
?> = Etichetta di chiusura

Se provate ad aprire un qualsiasi file di Nuke potete constatare che tutti iniziano e finiscono in questo modo. Ora possiamo iniziare ad inserire il contenuto:

Struttura del file theme.php
Abbiamo detto che il file theme.php contiene la struttura del tema, tabelle, header (la parte superiore), l'aspetto con cui si presentano le news, l'aspetto dei blocchi, e il footer (la parte in basso). Ognuna di queste aree viene rappresentata in una funzione, che elenchiamo:

OpenTable() - Qui inseriamo i tags html che serviranno per creare l'inizio di una tabella.
CloseTable() - Qui inseriamo i tags che permetteranno di chiudere la tabella che avevamo creato con opentable().
ThemeHeader() - E' una delle più importanti funzioni in quanto qui vengono inseriti i tags come il body ed altri necessari a definire il resto del layout della pagina.
FormatStory() - Configurazione delle notizie del nostro portale. E’ la parte dove viene inserito solo il testo delle notizie.
ThemeIndex() - Contiene il formato generale delle notizie del nostro portale e cioè: formato del titolo, autore e tutto il contenuto.
ThemeArticle() - Formato della notizia quando clicchiamo su Leggi Tutto.
ThemeSideBox() - Altra importante funzione, da qui viene settato il formato dei blocchi. 

Ora che abbiamo chiarito il significato delle funzioni possiamo introdurre in esse il contenuto.
Spieghiamo come deve essere usato html in un file php. Prima di tutto vi presento una regola fondamentale, quando inserite codice html in un file php, in questo caso nel file theme.php, non potete usare le virgolette " però, direte voi, nel nostro codice html ci sono molte virgolette ed allora? Allora la soluzione è molto semplice: è sufficiente far precedere le virgolette da una barra contraria slash \" ossia dovete rimpiazzare tutte le " con \"
La prima cosa che dobbiamo inserire nel file theme.php sono i colori che vogliamo usare per gli sfondi e per alcune parti del testo. Questo si fa in modo molto semplice utilizzando le variabili come vedete qui sotto. Nel nostro caso vediamo 4 variabili per gli sfondi (quindi 4 colori) e due variabili per i testi. Spero che tutti conosciate il codice colori che vedete utilizzato, per chi non lo sapesse, diciamo semplicemente che si tratta di un codice che permette di chiamare ogni colore con una combinazione di 6 caratteri tra numeri e lettere.

Codice

$bgcolor1 = "#FFFFFF";
$bgcolor2 = "#9CBEE6";
$bgcolor3 = "#D3E2EA";
$bgcolor4 = "#0E3259";
$textcolor1 = "#000000";
$textcolor2 = "#000000";

Ora ogni volta che vorremo usare il colore #FFFFFF, sarà sufficiente scrivere nello script $bgcolor1 e così via per tutti gli altri. Questo è molto utile per i programmatori, per esempio se creiamo un modulo, possiamo utilizzare la variabile $bgcolor1 per lo sfondo e in questo modo otterremo che il modulo richiamerà sempre quel colore con qualsiasi tema, cioè il modulo si adatterà automaticamente ai colori di qualsiasi tema.

Ora proseguiamo con le funzioni OpenTable() e CloseTable(),

Codice

function OpenTable() {
global $bgcolor1, $bgcolor2;

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"$bgcolor2\"><tr><td>\n";

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"8\" bgcolor=\"$bgcolor1\"><tr><td>\n";
}

function CloseTable() {
echo "</td></tr></table></td></tr></table>\n";
}

SPIEGAZIONE
Ricordiamo che il contenuto delle funzioni va sempre dentro {   }
Vediamo che utilizziamo la parola global e subito dopo $bgcolor1, $bgcolor2; in questo modo sfruttiamo il valore delle variabili dichiarate all'inizio, per utilizzarle dentro le dichiarazioni delle tabelle. Se non facessimo così php intenderebbe che si tratta di una variabile creata recentemente e, siccome non contiene nulla, la nostra tabella prenderà il colore di default.


Il tag echo invia il contenuto compreso tra le " " al browser

Codice

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"$bgcolor2\"><tr><td>\n";
echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"$bgcolor2\"><tr><td>\n";

invierà al browser la stringa

Codice

<table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#9CBEE6"><tr><td>

In pratica scrive i tags html e rimpiazza la variabile $bgcolor2 con il valore di questa. Come vediamo, resta da chiudere il tag <table> quindi per farlo dichiariamo la funzione closetable() 

Codice

echo "</td></tr></table></td></tr></table>\n";

invierà al browser la stringa

Codice

</td></tr></table></td></tr></table>

Abbiamo realizzato le tabelle. Come vedete si usano le variabili $bgcolor1, $bgcolor2 per definire i colori. Il codice usato è Html, nella funzione OpenTable ci sono i tag di apertura e nella CloseTable quelli di chiusura. Qui per esempio potete mescolare i colori ed anche definire la distanza di apertura con i tags cellspacing.
Ora proviamo ad unire le due funzioni

Codice

<?php
$bgcolor1 = "#FFFFFF";
$bgcolor2 = "#9CBEE6";
$bgcolor3 = "#D3E2EA";
$bgcolor4 = "#0E3259";
$textcolor1 = "#000000";
$textcolor2 = "#000000";
function OpenTable() {
global $bgcolor1, $bgcolor2;

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"$bgcolor2\"><tr><td>\n";

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"8\" bgcolor=\"$bgcolor1\"><tr><td>\n";
}

function CloseTable() {
echo "</td></tr></table></td></tr></table>\n";
}
?>

Possiamo richiamare questo file da http://tuosito.com/themes/Donkey/theme.php e, se controlliamo il codice generato, vedremo 

Codice

<table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff"><tr><td>
<table width="100%" border="0" cellspacing="1" cellpadding="8" bgcolor="#efefef"><tr><td>
</td></tr></table></td></tr></table>

E' importante sapere che questa funzione è la più usata quando occorre inserire contenuti in Nuke. Ogni volta che vogliamo aprire una tabella scriviamo Opentable(); e per chiuderla scriviamo Closetable();
Per rendere più chiaro il concetto guarda questo esempio

Codice

<?php
if (!eregi("modules.php", $PHP_SELF)) {
die ("Non puoi accedere direttamente a questo file");
}
require_once("mainfile.php");
include("header.php");

Opentable();
?>

Qui il contenuto

<?php
Closetable();
include("footer.php");
?>

Se provate a creare un modulo con questo contenuto vedrete la frase Qui inserisci il contenuto all'interno di una tabella. Questo è il modo di usare questa funzione.
Passiamo ora ad analizzare la funzione che gestisce le News e che si chiama FormatStory()

Codice

/************************************************************/
/* Function FormatStory()                                                                     */
/************************************************************/
function FormatStory($thetext, $notes, $aid, $informant) {
global $anonymous;
if ($notes != "") {
$notes = "<br><br><b>"._NOTE."</b> <i>$notes</i>\n";
} else {
$notes = "";
}
if ("$aid" == "$informant") {
echo "<font class=\"content\">$thetext$notes</font>\n";
} else {
if($informant != "") {
$boxstuff = "<a href=\"modules.php?name=Your_Account&amp;op=userinfo&amp;username=$informant\">$informant</a> ";
} else {
$boxstuff = "$anonymous ";
}
$boxstuff .= ""._WRITES." <i>\"$thetext\"</i>$notes\n";
echo "<font class=\"content\">$boxstuff</font>\n";
}
}

SPIEGAZIONE
Forse avrete notato che quando una news viene inviata da un Utente Anonimo appare la scritta “Anonimo ha scritto...” e tutto questo tra virgolette e in corsivo mentre se la news la scrive un Amministratore i caratteri saranno normali. Bene, la funzione che stiamo analizzando si incarica di realizzare tutto ciò. Qui potete effettuare qualche modifica come eliminare il corsivo sulle News, questo si realizza facilmente cancellando i tags dove dice <i>\"$thetext\"</i>, lasciando solo \"$thetext\". Questo non modifica il carattere usato per la News vera e propria in quanto le variabili presenti qui sono definite in un altro file.

Ora la nostra funzione riceve alcuni parametri

Codice

function FormatStory($thetext, $notes, $aid, $informant)

Ossia quando viene invocata le vengono inviati i parametri.
Più avanti vedremo come si inviano i parametri e da dove è invocata la funzione.


   Pagina Successiva (2/6) Pagina Successiva

[ Torna su 000Speciali | Indice Sezioni ]






PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Generazione pagina: 0.19 Secondi