Forms&Tables 2.0

Gestion et administration de formulaires éditables. Ce plugin permet également la publication de sondages et enquètes, la collecte des réponses dans la base de données et le téléchargement au format csv.

Ce plugin est une adaptation de la version pour SPIP 1.9. Les fonctionnalités sont inchangées, pour plus d’information, merci de consulter la rubrique ad hoc.

Adaptation à SPIP 2.0

ATTENTION :
Pour conserver les formulaires créés sous SPIP 1.9.x, ne désinstallez pas le plugin en cliquant sur le bouton de désinstallation présent dans la page de gestion des plugins, pour information, ce bouton porte l’étiquette suivante : « Supprime les données et désactive le plugin ».

Pour conserver les données :

  • dans le dossier plugin, supprimez le dossier « forms_et_tables_1_9_1 »
  • dans le dossier plugin, ajoutez le dossier du plugin modifié : « forms_et_tables_2 »
  • Activez ce plugin dans la page de gestion des plugins

Plugin en version test

Ce plugin est actuellement mis à disposition en version « test ». Merci de nous faire part de vos remarques suite à votre utilisation, nous apporterons les corrections/adaptations dans les meilleurs délais et dans la mesure du possible.

Quelques remarques concernant cette adaptation

1-champ de type monétaire :
l’unité saisie en administration est exploitée uniquement dans le tableau des réponses. Il serait intéressant de voir si on ne peut pas laisser un choix à la saisie (soit au moment de la construction du formulaire soit au moment de la saisie par l’utilisateur). Il serait ensuite intéressant d’exploiter cette donnée ailleurs (export, suivi des réponses).

To do : faire ces modifications pour utiliser la donnée monétaire.

2- nous avons activé le tableau des résultats (étrangement, il ne l’était pas en SPIP 1.9+ ) :
Par contre, dans ce tableau les tris sur ‘id’ et ‘date’ marchent. Ca ne marche pas sur les autres champs.

To do : généraliser le tri sur les autres champs

3- problème confirmation d’une réponse à un sondage (à voir)
la fonction de confirmation d’une réponse dans un sondage est pour l’instant by passée, la réponse est automatiquement validée sans passage par confirmation = attente. Cette fonction doit probablement servir à traiter des multiples réponses via des robots (à confirmer).

To do : faire marcher cette fonction de confirmation de la réponse sur SPIP2, et enlever le by pass décrit ci-dessus.

4- Environnement de développement
Les développements et test ont été réalisés avec easyphp 3.0 et SPIP 2.0.10, équipé d’une bonne poignée de plugins qui n’ont provoqué aucun conflit. Nous allons le tester sur des versions PHP/MySQL plus récentes. N’hésitez pas à nous faire part de vos remarques en cas de problème.

5- Programmation : premières impressions
Certains comportements d’origine du plugins sont un peu déroutants, nous avons pu apporter quelques correction lors de cette adaptation, il reste encore un peu de travail, notamment concernant les remarques susmentionnées.

Nous apporterons si possible d’autres améliorations, mais n’hésitez pas à mettre « la main à la pâte » !

Avertissements

  • Bien que compatible SPIP 2.0, cette version du plugin n’utilise pas entièrement l’API SQL et n’est donc pas compatible PostgreSQL ou SQLite

Ce projet a été mené par le SEM. Pour en savoir plus

Discussion

310 discussions

  • 1
    EP Factory

    Bonjour,
    Lors de l’utilisation de l’export de ce plugin, nous nous sommes confronté à un bug lié aux colonnes multiples.
    Après plusieurs recherches, voici le code à placer :

    (fichier forms_et_tables_2_0/inc/forms_export.php, ligne 49)

    if (!isset($valeurs[$champ])) {
      if($t['type'] == "multiple") {
        $ligne[$champ][] = "";
        foreach($t['choix'] as $choix => $titre) {
          $ligne[$champ][$choix] = "";
        }
      }
      else $ligne[] = "";
    }
    • Cédric D

      Ce patch vient de me sauver la journée ! Merci !

    Répondre à ce message

  • Bonjour,
    Où est prise la phrase « Veuillez entrer une adresse e-mail valide (de type vous@fournisseur.com). » qui apparaît lors du choix du champ email. Je voudrais ajouter une traduction NL... mais je n’arrive pas à mettre la main dessus...
    Merci
    JPP

    Répondre à ce message

  • Bonjour, j’ai installer le plugins en local et pas de problème. Il marche bien mais je n’ai pas exporter mes formulaires en ligne sur le site public et j’ai décidé de faire une installation directement sur le site. A présent je ne peux pas créer le formulaire car j’ai ce message d’erreur. Que faire ? Quelqu’un peux m’aider ?

    Numéro message squelette boucle Ligne

    Erreur SQL 1146
    Table ’fondsrouter2.spip_forms’ doesn’t exist
    SELECT forms.id_form, forms.type_form, forms.titre FROM spip_forms AS forms WHERE (forms.type_form = ’’)
    ../plugins/auto/forms_et_tables_2_0/fonds/tables_tous.html

    Erreur SQL 1146

    Table ’fondsrouter2.spip_forms’ doesn’t exist
    SELECT forms.id_form, forms.type_form, forms.titre FROM spip_forms AS forms WHERE (forms.type_form = ’sondage’)
    ../plugins/auto/forms_et_tables_2_0/fonds/tables_tous.html

    Répondre à ce message

  • 11

    Bonjour,

    J’utilisais ce plugin avec la plus grande facilité et maintenant j’ai des soucis.

    Je suis très débutante avec Spip et son univers alors il faut me pardonner car j’ai bien trouvé la question posée mais jamais de réponse.

    On ne peut plus afficher les données reçues via un formulaire par une simple balise <table1> insérée dans un article afin d’en publier les résultats dans la partie publique ?

    Je suis en spip 2.1.10, dernière version du plugin Forms & Tables téléchargée.

    Quoiqu’il en soit, félicitations aux créateurs du plugin , il est vraiment sympa.
    Merci.

    • Pour moi l’insertion dans un article fonctionne

    • Je la refais..

      Pour moi l’insertion <tablexx> dans un article fonctionne

    • Oui pour moi aussi le tablexx marchait et c’était parfait, simple et efficace, jusqu’à ce que je passe en spip 2.

      Après de longues heures à errer sur divers sites et forum, j’ai trouvé qu’il fallait enlever id_mot dans les squelettes des tables. Je l’ai fait : ça s’affiche.

      Mais, nouveau problème, seule la premiere page s’affiche avec 1 dizaine d’entrée, les autres ramènent toujours à la première.

      Bref, je n’y arriverai jamais !

    • Guillaume M

      Bonjour,

      Pourrais-tu STP spécifier quels squelettes des tables ?

      Ceux du type :

      <BOUCLE_donnees(FORMS_DONNEES){id_form=#ENV{id_table}}{tri_donnee #GET{tri}}{inverse #ENV{senstri,0}}{recherche_donnee #GET{recherche}}{pagination 20}>
      </BOUCLE_donnees>

      qui sont insérés dans le fichier « article.html » par exemple ?

      Pour afficher les autres données, il faut peut-être augmenter le nombre du critère {pagination 20}  ?

    • Guillaume M

      J’ai essayé moi-même d’utiliser ce code d’affichage des valeurs de ma table dans le fichier « article.html ».

      J’obtiens ce message d’erreur dans le squelette (affiché en transparent sur la partie publique de mon site) :

      <BOUCLE_donnees>()
      Erreur SQL
      forms_donnees.id_form, forms_donnees.id_donnee, donnees_champs.valeur AS id_mot FROM spip_forms_donnees AS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+Zm9ybXNfZG9ubmVlczwvY29kZT4="></span> INNER JOIN spip_forms_donnees_champs AS L2 ON ( L2.id_donnee = forms_donnees.id_donnee ) INNER JOIN spip_forms_donnees_champs AS L1 ON ( L1.id_donnee = forms_donnees.id_donnee ), spip_forms_donnees_champs AS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZG9ubmVlc19jaGFtcHM8L2NvZGU+"></span>, spip_forms_champs AS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+Y2hhbXBzPC9jb2RlPg=="></span> WHERE (forms_champs.id_form = 0) AND (forms_champs.type = "mot") 
      Unknown column 'forms_champs.id_form' in 'where clause'
      </BOUCLE_donnees>  
    • Bonjour Guillaume,
      as-tu progressé ? De mon côté je suis toujours avec le même problème : les 10 premières entrées s’affichent. J’ai une pagination qui apparaît, page 1, 2 ... mais le fait de cliquer sur la page 2 ou 3 ne change rien, seules les 10 premières pages s’affichent.

      Il y a forcément une solution !!!

    • Guillaume M

      Bonjour Marie,
      Non je n’ai pas avancé depuis mon dernier post.

      Pourrais-tu STP spécifier quels squelettes des tables tu as enlever les id_mots ?

      Merci

    • C’est dans plugins\auto\forms_et_tables_2_0\modeles
      Dans le répertoire modèle tu ouvres les fichiers table.html et table_recherche.html
      C’est là que j’ai enlevé id_mots

      Pour moi ça a marché en étant sous spip 2.1.10 + sarkaspip 3.0.7

      Reste à afficher les autres pages du tableau de résultat : ça j’ai beau chercher, pas moyen !!

      Marie
      www.geneoweb.org

    • Guillaume M

      Merci Marie. Cela marche !
      Il affiche les 20 premières puis il faut ensuite cliquer sur les « 0 5 10 15 20 » en haut à droite du tableau : c’est ce qu’ils appellent la "pagination (code : {pagination 20}

      Pour info, j’utilise SPIP 2.0.10 et Sarkaspip 3.

      Guillaume

    • De rien Guillaume, tant mieux que ça marche chez toi !
      De mon côté, cliquer sur la page suivante ne change rien : on reste sur la première !

      Je n’arrive pas à savoir d’où vient ce bug.

      Marie

    • merci marie
      j’ai créer un nouveau post sur ce sujet car je n’avais pas pris connaissance du travail que tu avis déjà réalisé.
      je rencontre les mêmes problèmes et je pense que nous ne sommes pas les seuls.
      dede

    Répondre à ce message

  • 1

    bonjour a tous

    comment afficher dans un article le contenu d’une table ?

    -  1) j’ai créé une table [listing_livres] contenant les champs correspondant aux livres de la bibliothèque ( titre , auteur ,prenom, genre etc..)
    2) fait un import en csv , tout s’est bien passé
    la table est bien accessible dans l’espace privé (voir image jointe)

    3)pour l’affichage dans un article j’ai essayé < table1> comme indique sur les différents articles de spip contrib mais je n’y arrive pas ??
    (dans proritété de la table j’ai bien validé les onglets « publication des données » et « validé les données avant publication »)
    -  quelle set la méthode et la syntaxe a utiliser ?

    les plugins " snippets + csv_import sont installés

    merci ++ pour votre aide.

    • je me répond a moi même
      j’ai avancé suite aux modifs réalisés sous les conseils de Marie dans son post du 16 juin
      merci ++ Marie

      -  c’est a dire en supprimant id_mot dans table.html et table_recherche.html.

      la table s’affiche maintenant mais gros problème de pagination et de tri (idem marie)

      merci a celui ou celle qui a trouvé la ou les solutions

    Répondre à ce message

  • 2

    Bonjour,
    Sauf erreur de ma part, le passage à la version 2.2.11 de SPIP pollue l’affichage des formulaires, les caractères utf-8 ne semblent pas pris en compte. Tous mes formulaires sont touchés et donc inexploitables. :-((
    Un exemple à la page http://saintbrieuc-treguier.catholique.fr/Parcours-Bethanie (Voir en bas de la page)
    Merci de votre aide,

    Philippe

    • La première image n’est pas très visible, voici une partie de cette image.

    • le passage à la version 2.2.11 de SPIP pollue l’affichage des formulaires

      Tu veux certainement dire 2.1.11 ?

      Moi ça m’est arrivé avec Spip 2.1.10

    Répondre à ce message

  • 1

    Parce que lors de l’exportation d’un article, il dit : « Il n’ya pas d’article à cette adresse »
    Merci.

    • Bonjour Sebas.

      Ce qui tu dis m’interesse car j’ai le message sus-cité sauf que je ne sais pas comment le résoudre. Aurais tu trouvé la solution ?

    Répondre à ce message

  • Bonjour,
    Après mise à jour de SPIP 2.1.10 la fonction d’export vers un article renvoie le message suivant « Aucun article à cette adresse ».
    Cependant l’article est créé. Sauf que lorsqu’on clique modifier l’article on a à nouveau le même message « Aucun article à cette adresse ».

    Quelqu’un aurait une explication et une solution SVP

    Répondre à ce message

  • Bonjour,

    Je voulais savoir si il y avait moyen de passer l’email d’un destinataire dynamiquement dans les formulaires Forms&Tables. Comme on peut le faire avec le « formulaire de contact avancé ».

    Exemple :
    #MODELE{form}{id_form=1}{#ID_AUTEUR}

    J’aurais a faire 1 seul et même formulaire pour une vingtaine d’auteurs, mais en changant bien sur l’email de l’auteur en question.

    Merci pour aide.

    Répondre à ce message

  • 4

    Bonjour
    j’ai le même soucis que Marie , j’utilisai ce plugin sans problème et depuis la mise a jour j’ai des soucis
    je suis sous -> spip 2.1.10
    plugin -> formulaires et tables (spip 2 .0 +) 0.401 en test

    création formulaire difficile (dans onglet champ page blance etc...)
    et dans l’onglet [propriété} l’obtient l’erreur :

    Warning : Cannot modify header information - headers already sent by (output started at /alternc/html/p/plouider/multimedia_v2/plugins/auto/forms_et_tables_2_0/lang/forms_fr.php:1) in /alternc/html/p/plouider/multimedia_v2/ecrire/inc/actions.php on line 212

    merci pour votre aide car ce plungin est vraiment genial
    dede

    • Même souci chez nous sur une machine que nous avons passé en PHP 5.3.3-7.
      Au début je pensais que la désactivation des warning permettrait au script de continuer normalement, ce n’est finalement pas le cas.

    • En actualisant la page ça doit se rétablir normalement. Enfin pour moi ça marche.
      Mais il est vrai qu’il y a quelque chose qui cloche...

    • merci pour vos reponses,
      je m’en suis sorti en :
      1)désinstallant le plugin
      2) vidant le cache
      3) en le réinstallant
      j’ai fait cette manip a 2 reprises , cela fonctionne mais bizarrement.
      dede

    • Sans succès ici :(
      Est-ce qu’il y’a des personnes chez qui il n’y a aucun souci avec ce plugin et PHP 5.3.+ ?
      J’ai l’impression que cela apparaît à partir de cette version de PHP mais peut être y’a t’il autre chose en plus...

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom