Carnet Wiki

#CONFIGURER_METAS

Version 1 — Août 2010 JLuc

Documentation

Cette balise s’applique pour un plugin ou dans un simple dossier squelette.

Cette balise prend un unique argument : un squelette de formulaire. Elle vérifie son existence et fournit un trio de fonctions CVT par défaut pour son utilisation.

Si cet argument est absent, il est pris conventionnellement égal à configurer_préfixe_du_plugin.

Pour chacune des 3 fonctions, s’il existe une fonction homonyme au nom du squelette, c’est elle qui prend la main.

Exemple : pour ’charger’ et le plugin ’Association’, la fonction association_charger qui sera recherchée dans le répertoire formulaire, et utilisée si elle existe.

Sinon, la table des métas associée à ce formulaire est utilisée pour y lire les valeurs (fonction _charger) et les y écrire (fonction _traiter). Rien n’est fait pour la fonction _verifier.

Le chemin d’accès au squelette détermine la table des métas associée.
-  s’il commence par _DIR_PLUGINS ou _DIR_EXTENSIONS (autrement dit si le formulaire a été trouvé dans un plugin), la table des métas associée est celle du plugin (qui est par défaut le préfixe du plugin, suivi de _metas).
-  sinon c’est la table des métas standard.

Pour fonctionner correctement, les formulaires référencés (implicitement ou non) par cette balise doivent utiliser #ACTION_FORMULAIRE avec comme deuxième argument le nom du plugin. Cela assure que le trio de fonctions ci-dessus décrit soit effectivement utilisé. Souvent, on peut utiliser les valeurs par défaut et donc utiliser #ACTION_FORMULAIRE sans aucun argument.

Question : pendant un moment dans Association2, le 2e argument devait valoir ’configurer_plugin’, et non le nom du plugin comme recommandé ci dessus. (cf http://zone.spip.org/trac/spip-zone...) Cela a donc changé ? Je n’ai pas vu où. Ou bien cette partie est fausse ?

Utiliser et tester #CONFIGURER_METAS

Cette balise n’est présente que dans la branche SPIP 2.2.

Pour l’expérimenter dans un SPIP 2.1.1, il suffit de copier les deux fichiers ecrire/balise/configurer_metas.php et prive/formulaires/configurer_metas.php.

Exemple :

-  plugin Association
-  Migration du plugin Association vers CONFIGURER_METAS

Références SVN

Cette balise s’est antérieurement appelée #REMPLIR, et encore avant : #FORMULAIRE_CONFIGURER_PLUGIN. Sans faire de l’achéologie, voici les étapes ce création :

-  création de #FORMULAIRE_CONFIGURER_PLUGIN

-  complément

On y trouve d’utiles précisions toutes encores valables ? :

<blockquote class="spip">

Le contexte de ce squelette est égal à la table des métas associée à ce plugin le nom de cette table étant calculé par la fonction formulaires_configurer_plugin_charger_dist.

Le traitement des saisies consiste à écrire dans cette table des metas les valeurs (chaîne vide si abstentes) que $_POST indique pour tous les noms trouvés dans le formulaire, à l’aide d’une RegExp ? (pas totalement fiable) repérant les attributs name dans le formulaire. Ce traitement est assuré par la fonction formulaires_configurer_plugin_traiter_dist.

Pour la vérification, la fonction formulaires_configurer_plugin_traiter_dist délègue le travail à la fonction formulaires_nom_du_squelette_verifier si elle existe, et sinon ne fait rien.

Ces trois fonctions sont donc communes à tous les formulaires de configuration de tous les plugins voulant les utiliser, ainsi que leurs fonctions auxilaires (nomenclatures des saisies notamment). Elles peuvent évidemment être surchargées.

</blockquote>

-  retour, simplification & corrections

-  renommage en #REMPLIR, retrait de la branche 2.1

puis :

-  renommage en #CONFIGURER_METAS...

Limitations actuelles

-  un form de configuration du core ne peut pas etre surchargé par un plugin
-  un form de configuration d’un plugin ne peut pas être surchargé dans dossier_squelettes
-  il n’y a pas de méthode pour lire les metas dans les skels
-  il n’y a pas d’outils de migration magique depuis les formulaires gérés par le plugin CFG