Nota di versione: queste informazioni sono diventate obsolete
Generalità su CFG
Il plugin CFG permette di creare facilmente un form per gestire parametri di un plugin o di un modello. Le informazioni generali sono esposte nei dettagli qui: cfg: références; CFG è scaricabile in zip o per svn (svn://zone.spip.org/spip-zone/_plugins_/_stable_/cfg/). Quest’articolo espone nei dettagli i cambiamenti/contributi dalla versione 1 di CFG.
Novità della versione 1.2
Con qualche rimaneggiamento del codice, della documentazione, delle funzioni e della perseveranza si è ottenuta una versione che:
omogeneizza il passaggio di parametri a CFG da un fond.
fornisce un segnaposto #FORMULAIRE_CFG per la visualizzazione d’un form CFG in un modello (richiede SPIP 1.9.3)
fornisce delle funzioni per scrivere e modificare il contenuto dell’albero generato da CFG (salvataggio di meta ed extra soltanto): ecrire_config() ed effacer_config() (richiede SPIP 1.9.3).
tutte le stringhe di lingua sono ora raccolte nel’file lang/cfg_fr.php ed attendono traduzioni/traduttori.
I parametri CFG
Era possibile passare a CFG i parametri utilizzando #REM o <!--
Si verificavano alcuni problemi con il segnaposto #FORMULAIRE_CFG e l’utilizzo di <!-- per trasmettere parametri. L’insieme è stato rivisto.
E’ stato conservato solo <!-- : per passare i parametri
<:plugin: campo:> per i campi di lingua
i segnaposti di SPIP
funzionano indipendentemente nel segnaposto #FORMULAIRE_CFG o nel tradizionale ?exec=cfg.
L’utilizzo di ((#REM) param=valeur) continua a essere riconosciuto, ma è considerato obsoleto.
Esempio di passaggio di parametri:
Un segnaposto #FORMULAIRE_CFG
Permette di pubblicare un form CFG in un modello.
nota: Questo segnaposto è sperimentale. I parametri ed il loro ordine sono suscettibili d’evolvere, come il segnaposto, in funzione del feedback degli utenti.
#FORMULAIRE_CFG{$fond, $id?, $form?, $ajax?, $afficher_messages_cfg?}
$fond
Se esiste un form CFG in fond/cfg_mon_formulaire.html, è possibile chiamarlo con: #FORMULAIRE_CFG{mon_formulaire}
$id
Quando il form richiede un identificatore per essere pubblicato (id_auteur, id_rubrique o altro), è necessario un secondo parametro:
#FORMULAIRE_CFG{test_auteur,#SESSION{id_auteur}} o #FORMULAIRE_CFG{test_rubrique, #ID_RUBRIQUE}
$form
Permette di creare un form personalizzato per pubblicare qualcosa prima e/o dopo il form CFG. L’insieme sarà ricalcolato in occasione della convalida del form: #FORMULAIRE_CFG{exemple,'',formulaires/mon_form}
Esempio di form personalizzato:
Qui, il form personalizzato fa un circuito sui campi d’una tabella che il fond CFG permette di modificare. Il form CFG è chiamato con <INCLURE{fond=formulaires/formulaire_cfg_vue}{env}>.
$ajax
Per default, solo il quadro che contiene il form è ricaricato quando lo si convalida. Impostando a ’non’ tutta la pagina sarà ricaricata #FORMULAIRE_CFG{exemple_meta,'','',non}
Occorre tuttavia, perché il calcolo sia realizzato, che un segnaposto, #CFG_TRAITER sia presente nella pagina.
$afficher_messages_cfg
Per default, tutte le azioni di registrazione/soppressione nei form, riuscite o meno pubblicano un messaggio. Mettere ’non’ per non pubblicare nessun messaggio#FORMULAIRE_CFG{exemple_meta,'','','oui','non'}
funzioni per script php
La versione 1.2 introduce due funzioni che permettono di scrivere configurazioni come lo farebbe un form CFG. Tutto ciò che può essere letto dalla funzione lire_config() di CFG può ora essere scritta o eliminata.
ecrire_config ()
ecrire_config($chemin, $valeur, $serialize = true);
$chemin : il cammino come quello della funzione lire_config(),
$valeur : il valore da scrivere. Può essere una tabella di valori,
$serialize: i valori sono sérializzati per default, ma si può, ad esempio per modificare i metas di configurazione di spip, mettere a false.
effacer_config ()
effacer_config($chemin);
$chemin : il cammino come quello della funzione lire_config() o ecrire_config().
Exemples:
- // 1) lettura
- // rien ne change pour lire_config()
- lire_config('descriptif_site');
- lire_config('prefixe/mon/repertoire/mon_champ');
- // extra d'un autore
- lire_config('~un_login/dossier/champ');
- lire_config('auteur:8/dossier/champ'); // équivalent
- // extra d'una tabella
- lire_config('article:2/dossier/champ');
- lire_config('spip_articles:2/dossier/champ'); // équivalent
- // 2) scrittura
- // change le descriptif du site !
- ecrire_config('descriptif_site', 'mon descriptif', false);
- // des configurations diverses
- ecrire_config('prefixe/champ', 'valeur');
- ecrire_config('prefixe/dossier/champ', 'valeur');
- // un extra d'auteur
- ecrire_config('~login/champ', 'valeur');
- // un extra de rubrique
- ecrire_config('rubrique:4/dossier/champ', 'valeur');
- // 3) cancellazione
- effacer_config('prefixe/dossier');
- effacer_config('~login/champ');
- // ...
Un plugin d’esempio: cfg_exemples
Esiste il plugin cfg_exemples (cartella _plugins_/_test_/cfg_exemples/di spip_zone), un plugin per mostrare alcune funzionalità avanzate di CFG, in particolare vedere il segnaposto #FORMULAIRE_CFG.























