mercoledì 31 ottobre 2007

Joomla 1.0: Funzione di Configurazione di un Componente

Tutti i componenti per Joomla, a meno che si tratti di componenti estremamente semplici, offrono all'utilizzatore la possibilità di impostare un certo numero di parametri di configurazione e preferenze.

La gestione di questa funzionalità viene fatta dall'area di amministrazione componenti di Joomla (backend).

Ho scritto un micro componente per mostrare uno dei tanti modi in cui questo tipo di funzionalità può essere implementata. L'occasione è stata la risposta ad una domanda fatta nel forum italiano a www.joomla.org.

Il componente utilizza ConfigMagik una classe open source trovata su phpclasses.org che serve a leggere e scrivere file in formato INI standard (quello usato da php.ini per intendersi).

Esempio di file di configurazione

[sezione1]
parametro1 = "valore1"
parametro2 = "valore2"
[sezione2]
parametro1 = "valore1"
parametro2 = "valore2"

L'uso della classe è semplice. Si crea un'istanza in questo modo

$Cfg = new ConfigMagik('ini_path');

ini_path contiene il percorso completo al file di configurazione che viene caricato immediatamente, ovviamente se esiste, dal costruttore della classe.

Per leggere il valore di un parametro dal file di configurazione si utilizza il metodo get passando come argomenti gli identificativi del parametro e della sezione. I parametri possono infatti essere ordinati in sezioni il che consente di utilizzare lo stesso identificativo per parametri diversi purché appartenenti a sezioni diverse.

Usando come esempio il file di configurazione riportato sopra si avrebbe

$valore1 = $Cfg->get('parametro1', 'sezione1');

Per modificare il valore di un parametro si utilizza il metodo set

$Cfg->set('valore1', $nuovo_valore1, 'sezione1');

Se si imposta a true il parametro synchronize quando si crea l'oggetto di classe ConfigMagik il file di configurazione è immediatamente aggiornato con il nuovo valore del parametro impostato con il metodo set.

Altrimenti (synchronize uguale a false) il nuovo valore del parametro è salvato internamente alla classe e bisogna invocare il metodo save per aggiornare il file di configurazione.

$Cfg->save();

Rimando per ulteriori dettagli al sorgente della classe che è ben documentato.

Il componente di esempio è scheletrico, ma completo. Può essere scaricato dal sito (cconfig.zip) e installato. Dall'area di amministrazione (menu Configurazione) si potranno inserire due valori nel file di configurazione. Creando un link al componente (o inserendo direttamente nel browser la url .../index.php?option=com_cconfig) i valori saranno visualizzati su schermo.

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.