CFG 1.2

Una seconda rivoluzione è in arrivo !

La version 1.2 de CFG (pour spip 1.9.3) introduit une balise #FORMLAIRE_CFG et des fonctions ecrire_config() et effacer_config().

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.

Nota in calce: La versione svn contiene sviluppi la cui stabilità API non è garantita; le loro descrizioni saranno incorporate appena definitivamente adottate.

updated on 2 June 2008

Discussion

Aucune discussion

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom