SPIP - Contrib

[ar] [en] [es] [fr] [it]



Home page > Outils pour plugins > Config (cfg)

cfg: guida

sabato 8 dicembre 2007, di mmmx. Ultimo aggiornamento venerdì 7 dicembre 2007

Tutte le versioni di questo articolo:


Spiegazione dettagliata dell’utilizzo di cfg, il plugin di configurazione.

Come scrivere un form fond/cfg_machin e parametrizzarlo per una configurazione facile e standardizzata d’un plugin, modello o altro.
Utilizzo dei dati #CONFIG{machin/truc} o lire_config("machin/truc")

Quest’articolo introduce CFG. Per le funzioni avanzate trovate i link nell’articolo


Unico file di configurazione

cfg è stato motivato dalla necessità ricorrente di impostare configurazioni di plugins o modelli(squelettes).

Il suo tema ricorrente è dunque la semplicità. Infatti una configurazione "machin " (un plugin, un modello o altro) è basata sul file unico fonds/cfg_machin.html, il primo trovato nell’ordine delle priorità di spip... in squelettes/, uno dei plugin attivi o dist/.

Questo "fond" contiene essenzialmente un form e opzionalmente delle proprietà per l’oggetto cfg di controllo.

Nei file di questo plugin si trovano alcuni fond di esempio, nella sottocartella fonds/, come del resto accade per numerosi plugin. Potete trovare i fond /cfg_xxx nei plugin crayons, csv2spip, etc.

La modifica dei dati è realizzata da una semplice chiamata dell’action cfg nel modo: ecrire/?exec=cfg&cfg=machin

Il form

Si tratta di un form HTML standard, interpretato come un modello (squelette). I dati gestiti sono riconosciuti attraverso l’attributo "name " dei tag classici dei controlli di un form:

- <input type="text" name="truc"...>,
- <select name="truc"...>,
- <textarea name="truc" ...>,
- .etc.

Non dovete utilizzare nomi che cominciano per _ cfg _, sono riservati al funzionamento interno.

Poiché l’action del form esegue controlli di sicurezza, è necessario aggiungere i dati di controllo, semplicemente facendo seguire a<form ...> alcuni input "hidden " ad esempio:
<form method="post">[(#ENV{_cfg_}|form_hidden)]

Infine, i submit di convalida o di soppressione devono essere nominati rispettivamente _ cfg_ok o _cfg_delete (nomi riservati)

Un form minimale sarebbe dunque:

Come si può notare, i valori dei dati sono passati nel contesto, dunque ricuperabili da #ENV{truc}

Importante: Il metodo d’analisi dei form di CFG implica il rispetto del seguente ordine negli attributi dei tag utilizzati(textearea, select, input...):

- type
- name
- poi il resto

Ad esempio:
<input type=... name=... .../>
<textearea/select name=... .../>

Le proprietà dell’oggetto cfg

È possibile aggiungere commenti che cominciano per propriete= per precisare proprietà intrinseche dell’oggetto cfg che tratterà il form.

Ad esempio, si può definire così il titolo del form:
[(#REM) titre=Le titre du formulaire] (dalla versione 1.2 <!-- titre=Le titre du formulaire -->
Tale commento SPIP sarà semplicemente passato inpropre(), per una semplice impaginazione.

Si possono anche utilizzare commenti HTML come :
<!-- descriptif=<multi>[fr]Descriptif français [en]In english</multi>-->
Qui, descriptif sarà completamente interpretata come un modello, con cicli e tutti gli altri strumenti di SPIP.

Se non desiderate che un trattamento di base, è preferibile il primo metodo, meno pesante.

Proprieta Descrizione
titre Farà da titolo principale se è presente anche boite
boite Il titolo del form boite, il cui default è titre se présente, ’Configuration machin" altrimenti
descriptif Descrizione in alto a sinistra
nom Nome del target in cui sarà salvata la configurazione, per default è il nome del form xxx in fonds/cfg_xxx

Esistono altre proprietà avanzate che potete trovare nell’articolo Configurazioni avanzate con CFG Configurazioni avanzate con CFG

Utilizzo dei dati

I dati salvati sono serializzati sotto il nome "machin " nella tabella spip_meta.

Si recuperano nei modelli con il segnaposto #CONFIG che è esteso da cfg per estrarre le suddivisioni con il separatore /
Ad esempio #CONFIG{machin/mon_area} darà il valore del campo mon_area prodotto dal form fonds/cfg_machin.html

In php, si può utilizzare analogamente lire_config('machin/mon_area')

#CONFIG{} o lire_config() ammettono come secondo parametro il valore da ritornare per default. Ad esempio #CONFIG{machin/mon_area,defaut area} darà defaut area se machin o mon_area sono vuoti.

Segnaposto #CFG_ARBO: piccolo aiuto allo sviluppo

:

La versione 1.0.10 introduce il segnale #CFG_ARBO per facilitare la fase di sviluppo del plugin che utilizza CFG. La sua presenza in un fond, nella parte privata di SPIP, elenca i campi salvati nella tabella spip_meta o nel parametro che gli è passato, con lo stesso principio di #CONFIG. Così, #CFG_ARBO{squelette} elencherà tutti i campi registrati in spip_meta/squelettes dell’esempio precedente.

P.S.

Ovviamente, qualsiasi contributo è il benvenuto, potete facilmente chiedere di diventare coredattori.

Inoltre, anche se non siete tra gli autori, potete rispondere sul forum se avete un’idea.

cfg nel zip della spip-zone


Rispondere all'articolo



Monitorare l'attività del sito RSS 2.0 | Mappa del sito | Area riservata | Charte et vie SPIP-Contrib | SPIP | L'autre.net