[spip-dev] Formulaire de configuration d'un plugin : Enregistrer ?

Bonjour,

Je désire faire un formulaire de configuration pour un plugin, par la méthode la plus simple, avec le plugin Saisies.

Et je m'y perds dans tous les articles proposés !

J'ai donc suivi entre autres
"Configurer une fonctionnalité de votre site, ou un plugin"
https://www.spip.net/fr_article5414.html

J'ai donc créé
- configurer_bsantonum.html : vide
- configurer_bsantonum.php :
   J'y ai déclaré *l'unique fonction*
     function formulaires_configurer_bsantonum_saisies_dist() {
   avec les définitions de champs.

Le formulaire est accessible depuis l'espace privé par les paramètres du plugin, et s'affiche bien.
Je peux saisir les valeurs de config et activer le bouton "Enregistrer", il me répond
"La nouvelle configuration a été enregistrée"

*MAIS si je rappelle la page de config, les paramètres ne sont pas rappelés !*

A la fin de l'article
https://www.spip.net/fr_article5414.html#Personnaliser-les-traitements

on définit
function formulaires_configurer_monplugin_traiter_dist() {
qui enregistre les données *pour personnaliser le traitement*.
Si je ne désire rien personnaliser, dois-je quand même définir _traiter ?

Les paramètres sont-ils vraiment enregistrés dans la config minimale ?

Merci

Voilà ce que j'ai personnelement

/**
  * Un simple formulaire de config,
  * on a juste à declarer les saisies
**/
function formulaires_configurer_plasci_saisies_dist(){
  include_spip('inc/config');
  $saisies = array(
    array(
      'saisie' => 'textarea',
      'options' => array(
        'nom' => 'connaissance_activite',
        'label' => _T('plasci:connaissance_activite_label'),
        'explication' => _T('saisies:option_datas_sous_groupe_explication'),
        'defaut' => lire_config('plasci/connaissance_activite'),
        'rows' => 10
      )
    )
  );
  return $saisies;
}

ca marche tout seul, et ca me suffit.

Donc franchement je saisi pas où le problème.

Si tu envoyais ton code, on pourrait t'aider.

Je pense qu’il doit lui manquer les lignes ‘defaut’ => lire_config(‘monplugin/mavaleur’),

Bonjour,

Je pense qu'il doit lui manquer les lignes 'defaut' => lire_config('monplugin/mavaleur'),

GAGNé !!

Ça marche bien mieux comme ça forcément... :smiley:

Mais sur les 6-7 articles de https://www.spip.net et https://contrib.spip.net que j'ai scrupuleusement parcourus, rien ne m'a fait penser à ça !

Donc c'était bien enregistré, mais pas rappelé au rechargement du formulaire...

Eh bien merci merci merci

Oui car le mécanisme des #FORMULAIRE_CONFIGURER_XXX va chercher *dans le squelette* les "name" de tous les champs pour savoir quoi charger en mémoire (ce qui permet de ne pas avoir de charger() mais seulement le squelette seul).

Or avec saisies en PHP, ya pas de squelettes justement. Donc c'est à toi de pré-remplir les champs, avec "defaut". Ou bien de faire la fonction charger() hein, mais c'est plus compliqué pour rien.

Ça marche bien mieux comme ça forcément... :smiley:
Mais sur les 6-7 articles de https://www.spip.net et https://contrib.spip.net que j'ai scrupuleusement parcourus, rien ne m'a fait penser à ça !

Ya un exemple dans la page de doc complémentaire du wiki :
https://contrib.spip.net/Doc-Saisies-complementaire#autocvt

Certaines pages du wiki sont des trésors.
JL

mouais, faudrait voir à les intégrer ces pages complémentaires.

En l'occurence le cas est un peu compliqué. Formellement on a pas besoin de se préremplissage pour faire un formulaire cvt. Mais pour un formulaire de config il faut bien.... Donc en tant que tel ce n'est pas dans la doc de saisies qu'il faut mettre cela.

du coup faut voir a quel endroit documenter ca.