Formulaire de configuration

Un formulaire comme un autre

Un formulaire de configuration est un formulaire presque comme un autre. Il doit donc respecter les normes relatives à tout formulaire. Pour rappel, on retrouvera les explications de rédaction d’un formulaire dans la rubrique dédiée.

Les formulaires de configuration bénéficient d’automatismes : le fichier php n’est pas obligatoire, à moins de nécessiter des traitements spécifiques.

Activer le lien de configuration

Pour faire apparaître un raccourci vers le formulaire de configuration sur la page de gestion des plugins, il faut créer un fichier dans prive/squelettes/contenu/configurer_PREFIXEPLUGIN, où PREFIXPLUGIN est le préfixe du plugin tel que défini dans le fichier paquet.xml.

Par exemple pour le plugin compagnon, nous avons le fichier prive/squelettes/contenu/configurer_compagnon.html

On obtient alors un lien de configuration depuis le gestionnaire de plugin :

Ce raccourci "configurer" renvoie sur la page de configuration ( ?exec=configurer_compagnon pour le plugin Compagnon) et affichera le contenu de ce squelette.

Créer le formulaire de configuration

Comme indiqué plus haut on respectera le formalisme des formulaire SPIP.

Exemple simple : code du plugin mediabox

Le fichier de configuration prive/squelettes/contenu/configurer_mediabox.html appelle le formulaire configurer_mediabox :

[(#AUTORISER{configurer,_mediabox}|sinon_interdire_acces)]
<h1 class="grostitre"><:mediabox:titre_page_configurer_box:></h1>
<div class="ajax">
	#FORMULAIRE_CONFIGURER_MEDIABOX
</div>

Le formulaire de configuration à proprement parler est un formulaire CVT classique présent dans formulaires/configurer_mediabox.html.

Dans le cas du plugin mediabox, le fichier configurer_mediabox.php est présent ; car ce plugin nécessite des actions complémentaire au stockage de variable de configuration dans spip_meta.

Enregistrement des données

Les données sont enregistrées dans la table spip_meta avec un casier au nom du plugin.

On peut préciser un autre casier en ajoutant un champ caché ayant le name _meta_casier :

<input type="hidden" name="_meta_casier" value="un_autre_casier" />

Personnaliser les traitements

Si l’on a besoin de personnaliser les traitements génériques, il est alors nécessaire de créer le fichier php correspondant avec les fonctions charger, verifier et traiter.

On peut faire appel aux fonctions suivantes :

 Dans le charger, cvtconf_formulaires_configurer_recense() retrouve automatiquement les champs du formulaire.

 Dans le traiter, cvtconf_formulaires_configurer_enregistre() enregistre les valeurs dans le casier.

Pour aller plus loin

Auteur cam.lafit Publié le :