SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Télécharger
Accueil > Documentation en français > Webmestres > Guide des fonctions avancées > Interactivité > Configurer une fonctionnalité de votre site, ou un plugin

Configurer une fonctionnalité de votre site, ou un plugin

Décembre 2011

La configuration d’une fonctionnalité ou d’un plugin consiste à définir des valeurs pour ses différents paramètres. Il faut donc pour cela définir un formulaire et pouvoir accéder aux valeurs des paramètres, partout dans vos squelettes.

Les formulaires CVT permettent aussi, simplement, de créer une page de configuration pour une fonctionnalité de votre site, ou pour la configuration d’un plugin.

Un mode de configuration a été intégré à SPIP3 [ce mode de configuration était disponible pour SPIP2 dans le plugin Bonux].


Formulaire de configuration

Supposons que vous ayez une fonctionnalité "truc" à configurer.

  1. 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).
  2. créez une page configurer_truc.html dans prive/squelettes/contenu/ (pour SPIP 3) ou dans prive/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 :

  1. [(#AUTORISER{configurer,mediabox}|oui)
  2.               <h1><:mediabox:titre_page_configurer_box:></h1>
  3.               <div class="ajax">
  4.               #FORMULAIRE_CONFIGURER_MEDIABOX
  5.       </div>
  6.       ]

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 :

  1.         <bouton id='truc' parent='bando_configuration'>
  2.         <titre>Truc (configuration exemple)</titre>  
  3.         </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 :
    1. $maj['create'] = array(
    2.      array('ecrire_config','monplugin/a_la_une', '3'),
    3. );
  • lors d’une mise à jour :
    1. $maj['0.1'] = array(
    2.     array('ecrire_config','monplugin/a_la_une', '3'),
    3. );

Pour effacer la valeur lors de la desinstallation du plugin, ajouter, dans le pipeline monplugin_vider_tables() :

  1.         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)]


Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé