Contributo di Alex (Jason
The Reaper)
Introduzione:
Scrivere lo script di un modulo è un'impresa quanto mai ardua e
che presuppone conoscenza approfondita del linguaggio php. Una valida
alternativa è rappresentata dal metodo che analizzeremo nel tutorial che
utilizza un modulo già esistente per crearne uno nuovo. Prima di tutto bisogna
scegliere il modulo che più si avvicina a quelle che sono le funzionalità
richieste dal nuovo modulo. Nel caso preso in esempio, dobbiamo creare un
database di Aziende, quindi il modulo Reviews fa al caso nostro,
perché contiene già una lista divisa per lettera. (molto comodo).
Quindi dobbiamo analizzare le parti che compongono il modulo e che saranno da
modificare:
- nella cartella /Modules c'è la cartella Reviews con i file
index.php e i file di lingua
- nella cartella /admin/case c'è case.reviews.php
- nella cartella /admin/links c'è links.reviews.php
- nella cartella /admin/modules c'è reviews.php
- nel database ci sono le tabelle nuke_reviews_main, nuke_reviews,
nuke_reviews_add, nuke_reviews_comments
Come Fare:
Apri la cartella "Modules" del tuo sito in Nuke in locale;

Seleziona la cartella del modulo che ti interessa duplicare (nel
nostro caso il modulo Reviews);

Clicca sopra la cartella col tasto destro del mouse e seleziona "Copia"
(oppure seleziona la cartella e tieni premuto CTRL mentre premi sul tasto C) ;

Quindi devi cliccare sempre col tasto destro del tuo mouse sullo spazio
bianco intorno, assicurandoti di non aver selezionato alcuna cartella, e
selezionare "Incolla" (oppure puoi, sempre dopo aver controllato di non
aver nessuna cartella selezionata, premere il tasto V mentre tieni premuto il
tasto CTRL);

Comparirà quindi una nuova cartella dal nome "Copia di XXX", dove XXX
sarà il nome del modulo che abbiamo deciso di duplicare (nel nostro caso il nome
sarà "Copia di Reviews");

Ora devi cambiare il nome della cartella che hai appena copiato (in
questo caso lo chiameremo Aziende);

Dopo aver aperto la cartella ora dobbiamo editare il file "index.php"
presente nella cartella stessa; In particolare dobbiamo editare TUTTE le
query che il file in questione esegue sul database. Dove troveremo infatti
sql_query dovremo, nel nostro caso sostituire a

".$prefix."_reviews_main DIVENTERA' ".$prefix."_aziende_main
".$prefix."_reviews DIVENTERA' ".$prefix."_aziende
".$prefix."_reviews_add DIVENTERA' ".$prefix."_aziende_add
".$prefix."_reviews_comments DIVENTERA' ".$prefix."_aziende_comments
Linee interessate al cambiamento in questo caso (attenzione i numeri
potrebbero essere leggermente diversi dai vostri in base alle eventuali
modifiche che avete gia apportato al modulo, per es. se avete inserito delle
patches):
113, 277, 280, 283, 302, 311, 327, 348, 352, 356, 360, 459, 465, 497, 499, 584,
674, 675, 685.
Dopo aver fatto queste modifiche dobbiamo cambiare le definizioni nel file "lang-italian.php"
presente nella cartella language del modulo stesso. Per fare ciò dobbiamo
editare tutte le righe che ci interessano, come ad esempio cambiare "Recensioni"
con "Aziende" e cosi via...

Testo, immagini e loghi (esclusi quelli registrati) presenti in questa pagina
sono proprietà intellettuale di Gennaro Cinquegrana (
ik0wmq@virgilio.it ) e ne è
vietato l'utilizzo senza la preventiva autorizzazione dell'autore.
Tutti i diritti riservati a Gennaro Cinquegrana © 2004
www.phpnukefordonkeys.com
Dopo aver duplicato il Modulo dobbiamo duplicare la sezione di
Amministrazione del nostro nuovo modulo "Aziende".
Come fare:
Accediamo in locale alla cartella admin del nostro portale in nuke:

In ordine casuale dobbiamo ripetere le operazioni di
duplicazioni per le tre cartelle CASE , LINKS e MODULES (come abbiamo fatto
nella pagina precedente per la cartella modules).

Si trasformano in:

Ora dobbiamo editare i contenuti dei tre file che abbiamo appena
duplicato;
In particolare dobbiamo rendere case.aziende.php così:

links.aziende.php invece sarà cosi:

NOTA BENE: il file di immagine reviews.gif dovrà avere il
nome dell'immagine che intendete dare nel menu grafico di amministrazione!
Io ho lasciato questo perché non ho una immagine aziende.gif .
Ci rimane quindi il file aziende.php nella cartella /admin/modules/
:
dobbiamo togliere le richieste al campo radminreviews
della tabella nuke_authors perché fa riferimento ai diritti che hanno gli
amministratori sulle Reviews inserite. A noi non interessa.

Ora modifichiamo tutte le query al database che fanno
riferimento alle tabelle nuke_reviews_main, nuke_reviews, nuke_reviews_add,
nuke_reviews_comments :

Le righe interessate in questo file sono: 42, 57, 123, 124.
Quindi dobbiamo modificare tutti i riferimenti al modulo
Reviews attraverso il file admin.php, cioè dove troviamo "admin.php?op=reviews"
e quelle al file modules.php, cioè dove troviamo "modules.php?name=Reviews"
:


Alla fine del file troviamo:

Qui dobbiamo sostituire i nomi dei casi che avevamo indicato già
nel file case.aziende.php :

Dobbiamo quindi controllare che non ci siano presenti nei form
dei riferimenti alla variabile $op che portino il nome dei reviews, mod_main,
add_review perché impedirebbe il corretto funzionamento del modulo. In questo
file ad esempio troviamo:


Il modulo ora dovrebbe essere quasi completo; manca infatti il
discorso riguardante la lingua e le traduzioni. Così com'è ora il modulo
funziona, ma nel menu di amministrazione del modulo mostra ancora tutte le
diciture tipiche del modulo di amministrazione Reviews. Abbiamo dunque due
possibilità:
O modifichiamo nel il file aziende.php di prima tutti i
campi come questo "._REVIEWID." in un testo semplice senza doppi apici
come AZIENDE ;
In alternativa possiamo modificare sempre tutti questi campi
come "._REVIEWID." in altro non ancora utilizzato come "._AZIENDEID."
;
In questo secondo caso dobbiamo poi aprire il file
lang-italian.php che troviamo in /admin/languages/ e aggiungere ad esempio
le righe: define("_AZIENDEID","Aziende");
N.B.: (questa operazione che va eseguita per ogni campo di
lingua che va tradotto).
Testo, immagini e loghi (esclusi quelli registrati) presenti in questa pagina
sono proprietà intellettuale di Gennaro Cinquegrana (
ik0wmq@virgilio.it ) e ne è
vietato l'utilizzo senza la preventiva autorizzazione dell'autore.
Tutti i diritti riservati a Gennaro Cinquegrana © 2004
www.phpnukefordonkeys.com
Ed eccoci all'ultima parte di questo tutorial: Duplicare le tabelle nel
database.
Per fare questo dobbiamo accedere al software che ci permette di gestire il
nostro database MySql: nel caso più comune PhpMyAdmin.
Accediamo al pannello di gestione di PhpMyAdmin:

Dopo dobbiamo selezionare il database in cui è
localizzato il nostro Nuke:

Selezioniamo quindi "ESPORTA" e in esporta selezioniamo
solo le tabelle che fanno riferimento al modulo Reviews. (per le
selezioni multiple tenere premuto CTRL).

Cliccando su Esegui otterremo quindi un file di testo con
queste caratteristiche (selezioniamo tutto il resto e clicchiamo su Copia):

Ora dobbiamo copiare tutto il testo che abbiamo ottenuto con
esporta; tornando all'indice del database e cliccando su SQL (voce in alto);
Nel campo centrale quindi copiamo il testo appena esportato e
operiamo le seguenti modifiche:
Editiamo dunque i nomi delle tabelle (cambiamo il nome
ovunque troviamo i nomi nuke_nometabellavecchia!):
nuke_reviews_main DIVENTERA' nuke_aziende_main
nuke_reviews DIVENTERA' nuke_aziende
nuke_reviews_add DIVENTERA' nuke_aziende_add
nuke_reviews_comments DIVENTERA' nuke_aziende_comments

Quindi clicchiamo su ESEGUI.
Se avete svolto tutte le operazioni correttamente comparirà la scritta:
| La query è stata eseguita con successo |
Il nostro nuovissimo modulo Aziende è pronto per essere utilizzato!
Testo, immagini e loghi (esclusi quelli registrati) presenti in questa pagina
sono proprietà intellettuale di Gennaro Cinquegrana (
ik0wmq@virgilio.it ) e ne è
vietato l'utilizzo senza la preventiva autorizzazione dell'autore.
Tutti i diritti riservati a Gennaro Cinquegrana © 2004
www.phpnukefordonkeys.com