Version 4 — Juillet 2012 — touti
Comment modifier un formulaire de l’espace privé ?
http://forum.spip.org/fr_244581.html
Quelques propositions pour comprendre les possibilités :
Car dans SPIP suivant ce que l’on veut on agira différemment !
Vous devez formuler clairement La première et en amont ce que vous souhaitez , pour choisir la meilleure méthode . réponse sera de se reposer la question reformulée qui pourrait devenir :
Les formulaires SPIP sont constitués d’une paire de fichier html et php.
Chaque formulaire fonctionne
Les formulaires fonctionnent en 3 étapes définies par le fichier php : Charger Vérifier Traiter. Une fois que vous aurez compris ce processus il vous sera très facile d’agir sur l’une des trois étapes.
- Les formulaires CVT pas à pas sur programmer.spip.org
- Formulaires CVT par l’exemple
Maintenant que je sais ce que je veux
En SPIP3, le plus radical est de recopier le couple php/html du formulaire html en respectant leur son chemin d’emplacement (le path), vous pouvez choisir uniquement le html , exemple du fichier formulaires/recherche . ). html.
Apparemment sous SPIP3 le dossier /prive semble réservé. Si on choisit de modifier le formulaire d’édition des articles situé dans prive/formulaires/editer_article.html on devra le copier et coller dans squelettes/formulaires/editer_article.html
Dans un terminal unix cette action est beaucoup plus lisible :
cp prive/formulaires/editer_article.html squelettes/formulaires/editer_article.html
Commencez par faire la même chose que pour « Recopier le formulaire des articles », car vous ne pourrez pas agir sur la rubrique si vous n’avez pas déjà le formulaire par défaut recopié.
cp prive/formulaires/editer_article.html squelettes/formulaires/editer_article.html
Puis recopié à nouveau et renommé votre fichier avec editer_article-2.html
si vous souhaitez modifier tous les formulaires d’édition des articles de la rubrique 2 (voir lien avec squelettes).
cp prive/formulaires/editer_article.html squelettes/formulaires/editer_article-2.html
Kesako ?
Dans la grande cuisine webqui ressemble à une usine avec des tuyaux ou transitent vos ingrédients , vous souhaitez réaliser de bons gâteaux !
.
Imaginez que vous souhaitez ajouter de la cannelle au flux de données farine , juste avant de mélanger les oeufs , le pipeline est comme un élément d’une plomberie , dans un tuyau on a le flux des données qui court comme le mélange farine/oeufs , avec des robinets d’accès marquant chaque étape du mélange, si vous souhaitez agir avec un nappage final au chocolat peu de cannelle ou moins de sucre , choisissez avec les pipelines vous agissez sur le pipeline qui convient ! flux des données .
Avec SPIP, pour le formulaire d’un créer un article, ces pipelines vont être divers : le traitement du texte pour fabriquer des liens, soit avant soit après le traitement en base ou encore pour se composer lors de l’affichage. On peut filtrer ce flux et y injecter de nouvelles données en fonction de critères personnalisés.Les pipelines doivent être déclarés en amont comme ceux qui existent par défaut dans SPIP :
pre_insertion, post_insertion
pre_edition, post_edition
Pour utiliser le flux des pipelines déclarés et le détourner à vos fins, il doit être signalé dans un plugin pour être pris en compte par le compilateur.
Les pipelines doivent être déclarés en amont comme ceux qui existent par défaut dans SPIP :
pre_insertion, post_insertion
pre_edition, post_edition
Pour utiliser le flux des pipelines déclarés et le détourner à vos fins, il doit être signalé dans un plugin pour être pris en compte par le compilateur.
- Voir la liste des pipelines
- Voir comment utiliser les pipelines
Par exemple pour Pour rajouter un élément après le contenu prévu au centre de la page utilisez affiche_milieu , http://programmer.spip.org/affiche_milieu
Sur la plupart des formulaires (à vérifier) existe une balise vous pouvez filtrer le flux et insérer le votre en utilisant le pipeline recuperer_fond et un preg_replace comme ici :
http://zone.spip.org/trac/spip-zone/browser/_plugins_/tickets/trunk/tickets_pipelines.php#L148