SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 157 visiteurs en ce moment

Accueil du site > Administration et BDD > Forms & Tables > Les points d’entrées de Forms&Tables

Les points d’entrées de Forms&Tables

11 décembre 2008 – par Cedric Morin – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

3 votes

Le plugin F&T comprend un certain nombre de points d’entrées utiles pour modifier ou enrichir son comportement par défaut sans en modifier le code.

Edition du formulaire

3 pipelines permettent de modifier la phase d’édition des formulaires. Ils sont particulièrement utiles pour ajouter des types de champs complexes.

Nom du pipelineDescription
forms_types_champs appelé avec la liste des types de champs. Permet d’ajouter/modifier des types de champs
forms_bloc_edition_champ appelé avec le contenu du bloc de saisie d’un champ. Permet la modification pour des types de champs supplémentaires.
forms_update_edition_champ appelé lors de la mise à jour d’un champ, en edition du formulaire. Permet d’ajouter des proprietes aux champs

A titre d’exemple, le plugin geoforms utilise ces pipelines pour ajouter un type de champ géolocalisé.

Visualisation du formulaire

Ces 3 pipelines sont appelés dans la phase d’affichage du formulaire.

Nom du pipelineDescription
forms_label_details appelé pour ajouter des explications complementaires sur certains types de champs. Utile pour la gestion de type de champs supplémentaire
forms_input_champs appelé pour chaque champ au moment de générer le <input> de saisie
forms_ajoute_styles pipeline pour ajouter des styles à la css (utile pour styler des champs supplémentaires)

Valeurs du formulaire

2 pipelines pour intervenir sur les valeurs affichées dans le formulaire (pré-replissage par exemple) et le message de succès affiché après validation.

Nom du pipelineDescription
forms_pre_remplit_formulaire appelé avant affichage d’un formulaire, pour permettre un pré_remplissage de certains champs (ex email si le visiteur est identifié)
forms_message_complement_post_saisie appelé pour permettre l’ajout d’un message complémentaire au basique ’votre réponse a été enregistrée’

Enregistrement de la saisie

3 pipelines permettent d’intervenir lors de la phase de validation de la saisie et de son enregistrement.

Nom du pipelineDescription
forms_valide_conformite_champ appelé au moment de la vérification de la saisie des champs. Permet de signaler des erreurs de saisie sur les types de champs supplémentaires
forms_pre_edition_donnee appelé avec la liste des champs et leurs valeurs juste avant leur insertion/maj en base. Permet l’ajout éventuel de champs saisis et non détectés.
forms_post_edition_donnee appelé avec la liste des champs et leurs valeurs juste apres insertion/maj en base

Affichage des donnees

Ce pipeline est appelé pour calculer la valeur en clair des champs retournés par la balise #LESVALEURS

Nom du pipelineDescription
forms_calcule_valeur_en_clair appelé au moment de la transcription valeur en base => valeur affichée pour un champ donné. Permet de prendre en charge des formatages sur des types de champs supplementaires

La balise #FORMS

Elle s’utilise dans une boucle FORMS ou FORMS_DONNEES :

  1. S'utilise dans une boucle FORMS, ou FORMS_DONNEES
  2. <BOUCLE_f(FORMS){id_form}>
  3. #FORMS
  4. </BOUCLE_f>

La balise #FORMS peut prendre 5 arguments optionnels :

argumentrôlevaleur par défaut
class nom du squelette utilise pour afficher les champs du formulaire. vide ou ’forms_structure’
script_validation nom du script utilisé pour valider les réponses/envoyer le mail de confirmation valide_form
message_confirm chaine de langue utilisée pour générer le message d’avis d’envoi de mail de confirmation. Attention, cette chaine doit comprendre la variable @email@ qui sera remplacée par l’email de l’internaute forms:avis_message_confirmation
reponse_enregistree chaine de langue utilisée pour le message « reponseenregistree ». forms:reponse_enregistree
forms_obligatoires liste de formulaires obligatoires avant la saisie du formulaire en cours (?) vide

Exemple

  1. <BOUCLE_f(FORMS){id_form}>
  2. #FORMS{'',valide_form,message_reponse_perso}
  3. </BOUCLE_f>
Retour en haut de la page

Vos commentaires

  • Le 30 août 2011 à 12:17, par Luberon Central En réponse à : Les points d’entrées de Forms&Tables

    Bonjour,
    Est-il possible de récupérer l’id ou le nom du rédacteur dans le formulaire ?

    Je m’explique, j’ai 2 formulaires :
    -  un pour s’inscrire : http://www.luberon-central.com/blog/spip.php?article1

    Une fois que l’utilisateur s’est inscrit, je lui crée un compte rédacteur.
    Cela lui donne accès à un nouveau menu dans la partie publique (je ne parle pas de la partie privée).
    Si vous voulez tester, j’ai créé un compte rédacteur login : demo mot de passe : demoluberon .
    Dans ce nouveau menu, le nouveau rédacteur a la possibilité de proposer de nouveaux produits http://www.luberon-central.com/blog/spip.php?article4 via un autre formulaire.

    Est-il possible d’insérer quelque part dans le formulaire, l’id ou le nom du rédacteur enregistré afin d’être sûr que c’est bien lui qui remplit ce second formulaire (et pas un autre rédacteur enregistré) et de récupérer cette information dans les résultats du formulaire et dans le mail qui m’est envoyé automatiquement suite à la validation du formulaire ?

    Mille merci.

    Répondre à ce message

  • Le 17 avril 2010 à 02:29, par Vincent François En réponse à : Les points d’entrées de Forms&Tables

    Bonjour,

    Je cherche à surcharger le pipeline « forms_message_complement_post_saisie » pour insrer un bout de code javascript qui permettra à Google Analytics de noter les validations du formulaire.

    Je n’y arrive pas. J’ai créé un petit plugin qui dit dans plugin.xml :


    forms_message_complement_post_saisie
    forms_message_complement_post_saisie
    suppforms_fonctions.php

    et dans le code PHP, un bout d’essai pour voir ce que ça donne de détourner

    function suppforms_forms_message_complement_post_saisie($texte)
    return "XXX" ;

    Mais il ne se passe rien...

    Comment puis-je faire ? Une idée, une piste ?

    Merci d’avance pour toute réponse même incomplète.

    • Le 17 décembre 2010 à 18:48, par stefdn En réponse à : Les points d’entrées de Forms&Tables

      Bonjour,

      un peu tard pour répondre mais j’ai eu le même problème et en tâtonnant, j’ai réussi à utiliser ces pipelines. J’ai créé un petit plugin pour ça, qui contient 2 fichiers :

      • plugin.xml
      • test_pipeline.php

      dans plugin.xml :

      1. <plugin>
      2.    <nom>Testounet</nom>
      3.    <auteur>Moi</auteur>
      4.    <version>1</version>
      5.    <etat>dev</etat>
      6.    <necessite id="Forms" version="[0.306;]" /> < !-- ma version de Forms & tables -- >
      7.    <description>test  pipelines Forms &amp; tables </description>
      8.    <prefix>testou</prefix>
      9.    <pipeline>
      10.       <nom>forms_message_complement_post_saisie</nom>
      11.       <inclure>test_pipeline.php</inclure>
      12.    </pipeline>
      13. </plugin>

      et dans test_pipeline.php :

      1. <?php
      2. // prefixe du plugin
      3. if (!defined("_PLUGIN_NAME_TESTOU")) {
      4.         define('_PLUGIN_NAME_TESTOU', 'testou');
      5. }
      6. // Nom de la fonction = prefix_mon_plugin_nom_pipeline
      7. function testou_forms_message_complement_post_saisie($args){
      8.         // var_dump($args); -> pour voir ce qu'on récupère, ici un Array
      9.         //  exit;
      10.   // comme c'est un array :
      11.   if(is_array($args)) {
      12.     $msg = "<h3>Ça marche ...</h3>";
      13.     // on met le message complémentaire dans la ligne de l'array qui correspond :
      14.     $args['data'] = $msg;
      15.     return $args;
      16.   }
      17. }
      18. ?>

      il suffit ensuite d’installer et d’activer ce plugin, comme tous les autres

    Répondre à ce message

  • Le 27 mars 2010 à 16:53, par Metalrod11 En réponse à : Les points d’entrées de Forms&Tables

    Salut,

    Je cherche à faire apparaitre sur une carte Google les enregistrements d’une table.

    Je suis sous SPIP 1.9.2 et j’ai installé et configuré « Forms&Tables 1.9.1 », « Google Map API » et « GIS ». L’ensemble fonctionne :
    -  j’ai inséré des cartes dans la partie publique où je fais apparaitre les articles « géoréférencés » dans la partie privée grâce à l’interface de « GIS »
    -  j’ai créé aussi un formulaire de contact qui fonctionne
    Les trois plugins semblent donc ok.

    J’ai voulu tester le plugin « Geoforms » pour voir s’il répondait à mes besoins (puisqu’il est cité dans cet article et dans celui sur le plugin « Google Map API »). J’ai eu du al à le trouver donc j’ai récupéré un par un les fichiers sur SPIP Zone. Après l’avoir activé, lorsque je souhaite le configurer grâce à l’cône apparue dans dans le menu « configuration » de SPIP, j’obtiens « Fichier inc/geomap_config introuvable ». Y a-t-il un endroit où trouver une version plus récente ? A-t-il été « remplacé » par un autre plugin (y en a-t-il un qui me permettrait de faire ce que je veux : « faire apparaitre sur une carte Google les enregistrements d’une table » ?

    Merci à vous

    Répondre à ce message

  • Le 17 février 2010 à 22:05, par julie En réponse à : Les points d’entrées de Forms&Tables

    Salut,

    je voudrais limiter le nombre de caractère du textaera. Pour cela, je cherche à rajouter le code qui va bien dès la génération du formulaire. Mais où se trouve le fichier qui contient le bout de code qui génère le textaera du formulaire ?

    Merci d’avance.

    Répondre à ce message

  • Le 7 mars 2009 à 11:30, par Ritchie En réponse à : calcul automatique d’un champ dans Forms&Tables

    Super plugin ! installé sous spip 1.9.2.e
    J’ai créé un formulaire où les visiteurs doivent entrer plusieurs champs numériques
    ( ex champA= 54, champB=68, champC=456) je souhaiterais qu’un dernier champ (D, donc) soit calculé automatiquement en fonction des données entrées en A,B et C tel que D=(C/A*B)/100 . Est-ce possible ? Je souhaiterais également que ce champ D s’arrête à 2 décimales. Merci pour l’aide.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Rainette, la méteo au quotidien

    31 juillet 2009 – 60 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet d’afficher les conditions et les prévisions météorologiques d’une ville donnée à partir du flux xml fourni par le site weather.com(r).

  • Thélia

    26 juin 2007 – 838 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • MediaBox

    10 mai 2010 – 178 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Navigation AJAX

    31 janvier – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)

  • Squelettes IENSP-X version Pleine Page pour SPIP 2.1

    8 décembre 2008 – 11 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Version 3.2 pour SPIP 2.1