SPIP - Contrib

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



Home page > Outils pour plugins > Config (cfg)

Configurazioni avanzate con CFG

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

Tutte le versioni di questo articolo:


Il plugin CFG permette di configurare modelli e plugin. Guida all’utilizzo avanzato.


Seguito della presentazione di CFG allo SPIP Party del 10 novembre 2007 di Clermont-Ferrand, ecco un articolo che presenta le ppotenzialità avanzate di CFG.

Dettaglio delle Variabili di CFG

Proprietà 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
liens* Link su altri cfg pubblicati in questa colonna
onglet (v1.0.8) mettere ’non’ per non inserire il link (onglet) a questo fond sulla pagina di configurazione di cfg
nom Nome del target in cui sarà salvata la configurazione, per default è il nome del form xxx in fonds/cfg_xxx
casier Permette (opzionale) di creare sotto-matrici, ad esempio per separare una config in molte sotto-form
storage Permette di salvare i valori di configurazione in destinazioni differenti rispetto a spip_meta (metapack). Valori possibili : extrapack (campi extra delle tabelle), php (in un file php nella cartella /local/cfg), classic (come fa SPIP con i record dei meta), table (in campi di una tabella , ma non funziona ancora nella versione attuale)
table Permette di definire la tabella di salvataggio (nel caso storage=extrapack o tabella)
autoriser Permette di dichiarare il tipo d’autorizzazione necessaria per l’accesso alla pagina di configurazione

Quando la proprietà è una matrice alla quale si vuole aggiungere un elemento, occorre fare precedere = da un asterisco * come :
<!--  liens*=crayons -->

La proprietà onglet

Permette di inserire (per default) un’unghia nella pagina ecrire/?exec=cfg. Quest’unghia prende il nome del file fond (toto, se il file si chiama cfg_toto.html).

Così, se un plugin/squelette ha molti fond, è possibile limitare il numero di unghie sulla pagina.

La proprietà casier

Permette di salvare i campi di una form in una matrice, classificando le sue variabili.

Se nom=monsquelette e casier=coso, allora si recuperano i valori con #CONFIG{monsquelette/coso/nome_del_campo}

Note su casier : È possibile indicare sottomatrici in casier : <!--casier=option/navigation-->. Si recuperano allora i valori del form con #CONFIG{squelette/option/navigation/champ_du_formulaire}

Esempi delle proprietà onglets, liens e casier

Prendiamo ad esempio un modello che utilizza 3 fond distinti (cfg_squelette, cfg_squelette_complement1, cfg_squelette_complement2). Si possono definire i file così:

- cfg_squelette

- cfg_squelette_complement1

- cfg_squelette_complement2

I tre fond sono registrati nella variabile spip_meta ’modellio’. Il fond squelette_complement1 si salva in ’modello/option1’ (casier=option1): si potrà dunque fare #CONFIG{modello/option1/champ_du_formulaire}.

Solo un link verso il primo fond (modello) sarà pubblicato nella pagina /ecrire/?exec=cfg poiché gli altri due hanno la variabile onglet=non. Un link verso gli altri fond sarà inserito se è all’interno di uno dei tre file. (/ecrire/?exec=cfg&cfg=modello).

Personalizzazione degli autori

Grazie allo storage extrapack, è possibile aggiungere parametri agli autori, come farebbe un’entry in spip_meta.

Si recuperano in seguito i parametri d’un autore semplicemente con un .
- #CONFIG{~/nom_du_champ} : recupera il campo dell’autore collegato (attenzione alla cache se si utilizza nella parte pubblica, che rischierebbe di prendere i valori di un altro autore)
- #CONFIG{~toto/nom_du_champ} : dove toto è un login, pubblica i parametri dell’autore ’toto’ ;
- [(#CONFIG{~[(#SESSION{login})]/nom_du_champ})] : nella parte pubblica (Il segnaposto #SESSION introdotto in SPIP 1.9.3) permette d’inserire i parametri dell’autore collegato (la presenza di #SESSION invalida la cache).

Ecco un form che permette di impostare se un autore vuole pubblicare o no alcuni parametri :

Spiegazione del codice :

- <!--  autoriser=voir  --> : Permette di inserire lo stesso form per i redattori.
- <!--  storage=extrapack --> : Dichiara di salvarlo nei campi Extras
- <input type="hidden" name="id" class="cfg_id" value="#SESSION{id_auteur}" /> : definisce il campo da usare come chiave per la tabella (di default spip_auteurs) in cui i valori saranno registrati. class="cfg_id" permette a CFG di sapere qual è la chiave primaria. #SESSION{id_auteur} assegna a questo campo il valore dell’id_auteur connesso (SPIP >= 1.9.3)

recupero dei valori :

- #CONFIG{~[(#SESSION{login})]/mes_articles} : recupera il valore di " toto/mes_articles" se l’autore toto e connesso.

Personalizzare gli extras di altre tabelle

Sullo stesso principio degli autori, è possibile personalizzare campi extras di altre tabelle. Basta dichiarare il nome della tabella nel form.

Spiegazioni :

- Se si chiama il form con ?exec=cfg&cfg=nom_du_fond&cfg_id=id_rubrique, il form permette di aggiungere il nome del contatto.
- <!-- table=spip_rubriques --> : seleziona la tabella spip_rubriques.

Recuperare i valori :

#CONFIG{rubriques:#ID_RUBRIQUE/nom_contact} : O, in generale : #CONFIG{Nome_tabella:ID/nome_del_campo}


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