Formulaire de configuration
Supposons que vous ayez une fonctionnalité "truc" à configurer.
- créez un formulaire CVT dont le nom commence par « configurer_ », avec juste le fichier HTML et sans le PHP (et donc sans définir les fonctions charger, verifier et traiter).
- créez une page
configurer_truc.htmldansprive/squelettes/contenu/(pour SPIP 3) ou dansprive/exec/(pour SPIP 2), à l’intérieur de votre plugin ou de votre répertoire squelettes. Dedans, appelez le formulaire avec simplement#FORMULAIRE_CONFIGURER_TRUC
C’est tout !
Configuration d’un plugin
Si « truc » est le préfixe d’un plugin, un raccourci vers la page de config est automatiquement ajouté dans la page d’admin des plugins (avec l’icone « tournevis et clé à molette »).
Exemple : Pour le plugin ’mediabox’, le fichier prive/squelettes/contenu/configurer_mediabox.html contient :
- [(#AUTORISER{configurer,mediabox}|oui)
- <h1><:mediabox:titre_page_configurer_box:></h1>
- <div class="ajax">
- #FORMULAIRE_CONFIGURER_MEDIABOX
- </div>
- ]
Si vous souhaitez qu’une entrée apparaisse dans les menus de la partie privée pour vous donner un accès direct à cette page de configuration, ajoutez l’entrée suivante dans le fichier plugin.xml :
- <bouton id='truc' parent='bando_configuration'>
- <titre>Truc (configuration exemple)</titre>
- </bouton>
Pour initialiser la valeur d’une configuration (paramètre "a_la_une", par exemple) lors de la création ou de la mise à jour du plugin, ajouter, dans le pipeline monplugin_upgrade() :
- lors de la création :
- lors d’une mise à jour :
Pour effacer la valeur lors de la desinstallation du plugin, ajouter, dans le pipeline monplugin_vider_tables() :
- effacer_config("monplugin/a_la_une");
Accèder aux valeurs configurées
Dans un squelette, on accède à la valeur d’une configuration au moyen de la balise #CONFIG (par exemple #CONFIG{monplugin/a_la_une})
En php on accèdera en lecture aux valeurs avec la fonction lire_config avec lire_config('monplugin/a_la_une').
En écriture, on utilisera la fonction ecrire_config :
ecrire_config('monplugin/a_la_une', 3)
Autorisations
Tous les internautes n’ont pas accès à la page de configuration. Par défaut, seuls les administrateurs ont cette possibilité, mais vous pouvez redéfinir les droits d’accès à votre formulaire de configuration. Utilisez pour cela l’API php autoriser, ainsi que la balise #AUTORISER et le filtre sinon_interdire_acces pour votre squelette de formulaire.
Exemple : [(#AUTORISER{configurer,mediabox}|sinon_interdire_acces)]
