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.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom