CFG permette di realizzare form pubblici, che si basano sui form CFG.
Nota : Questa funzione è disponibile solo a partire da una versione SPIP 1.9.3 di SVN recente. Questa versione di SPIP è in sviluppo e non è ancora stabile. Quest’API è dunque ancora suscettibile d’évolvere.
SPIP ed i form pubblici
Una nuova API per realizzare form pubblici è stata introdotta nella versione di SPIP in sviluppo. Realizzare un form pubblico richiede ora 4 file :
- formulaires/x.html
contiene il form
- formulaires/x/charger.php
carica i valori di default
- formulaires/x/verifier.php
verifica i valori inviati dal form
- formulaires/x/traiter.php
effettua i trattamenti dei dati se i valori inviati sono validi.
Questi form presentano di default una chiamata ajax, vale a dire che solo la parte di codice che contiene il form è aggiornata, e non tutta la pagina. Per non utilizzare ajax, occorre mettere la classe css noajax nel tag <form>
CFG ed i suoi form pubblici
Appoggiandosi su questa API, CFG possiede, dalla versione 1.4, un segnaposto #FORMULAIRE_CFG
:
#FORMULAIRE_CFG{cfg_fond, cfg_id=""}
- cfg_fond
: il nome del form CFG (senza il prefisso ’cfg_’)
- cfg_id
: l’identificativo passato a CFG, di rado necessario.
Adattare il fond CFG
Per permettere al vostro form CFG d’essere letto da questo segnaposto, occorre che contenga il segnale #ACTION_FORMULAIRE
e che il campo action
del form sia riempito. Generalmente si ottiene dunque :
<form method="post" action="#SELF"><div>
[(#ENV{_cfg_}|form_hidden)]
#ACTION_FORMULAIRE{#SELF,cfg}
...
</div></form>
Pubblicare i messaggi di successo o d’errore
l’API dei form SPIP ritorna molti tipi di messaggio che sono trasmessi all’ambiente :
message_ok
, message_erreur
nonché una tabella errori che contiene informazioni d’errore per ogni campo.
L’utilizzo è il seguente :
[<p class='formulaire_erreur'>(#ENV*{message_erreur})</p>]
[<p class="formulaire_message">(#ENV*{message_ok})</p>]
[<span class='erreur'>(#ENV**{erreurs}|table_valeur{email_webmaster})</span>]
Form minimale
Sia il form fonds/cfg_z.html
che contiene :
<!-- titre=Esempio sul campo 'description' del sito -->
<!-- depot=meta -->
#CACHE{0}
[<p class='formulaire_erreur'>(#ENV*{message_erreur})</p>]
[<p class="formulaire_message">(#ENV*{message_ok})</p>]
<form method="post" action="#SELF"><div>
[(#ENV{_cfg_}|form_hidden)]
#ACTION_FORMULAIRE{#SELF,cfg}
<label>Descrizione del sito</label>
<textarea name="description" rows="4" cols="40" style="width:100%;">[(#ENV{description})]</textarea>
[<span class='erreur'>(#ENV**{erreurs}|table_valeur{description})</span>]
<input type="submit" name="_cfg_ok" value="<:cfg:OK:>" />
</div></form>
Può essere richiamato da #FORMULAIRE_CFG{z}
.
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 : |