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 :
<!-- titre=Exemple stockage dans fond 'cfg_exemple_meta' -->
<!-- autoriser=voir -->
<!-- nom=nom_de_stockage -->
<!-- casier=dossier_de_stockage -->
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 :
<div class="cfg_exemples_perso">
Una circuito sui campi della tabella spip_cfg_exemples
<B_a>
<table class='spip' border='1' width='90%'>
<tr><th>id</th><th>description</th><th>texte</th></tr>
<BOUCLE_a(CFG_EXEMPLES)>
<tr><td>#ID_CFG_EXEMPLE</td><td>#DESCRIPTION*</td><td>#TEXTE*</td></tr>
</BOUCLE_a>
</table>
</B_a>
<INCLURE{fond=formulaires/formulaire_cfg_vue}{env}>
</div>
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.
#CFG_TRAITER{#ENV{cfg_vue}}
...
#FORMULAIRE_CFG{exemple_meta,'','',non}
$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');
ecrire_config('prefixe/dossier', array(...) ); // pleins de valeurs d'un coup
// 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
.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |