Duplicare i Moduli

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





Questo Articolo proviene da PHP-Nukefordonkeys.com
http://www.phpnukefordonkeys.com

L'URL per questa storia è:
http://www.phpnukefordonkeys.com/modules.php?name=Sections&op=viewarticle&artid=149