SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 167 visiteurs en ce moment

Accueil > Administration et BDD > Forms & Tables > Annuaire avec Forms & Tables > Annuaire avec Forms & Tables

Annuaire avec Forms & Tables

25 juin 2007 – par JDW – 77 commentaires

10 votes

Cette mini doc est tirée de ma propre expérience de débutant avec SPIP, et n’est peut-être pas la meilleure façon de faire, mais au moins cela fonctionne.

Nota SPIP-Contrib : une contribution qui affiche clairement sa nature de témoignage de mise en oeuvre pouvant être améliorée de Forms & Tables, mais justement intéressante pour cela

Un annuaire en trois pages

L’annuaire est composé de trois pages
-  La première est la liste des catégories (métier, ou autre), la page entreprise.html
-  La seconde liste les fiches qui appartiennent à la catégorie choisie, la page fichecat.html
-  La dernière est la fiche détaillée du sujet, la page ficheent.html

JPEG - 307.1 ko
Aperçu de l’annuaire
Montage de prises d’écran

Utilisation de Forms & Tables

Tout d’abord, il vous faut créer deux tables, dans la partie privée. Appelons-les « Entreprises » et « Catégorie » :
-  « Entreprise » correspond à votre table principale. Elle contient des champs comme « Nom », « Adresse », « Téléphone », etc.
-  « Catégorie » n’a qu’un seul champ, le champ « NomCat »

L’idée est d’utiliser le champ de table liée pour simuler une contrainte hiérarchique et générer ainsi un arbre hiérarchique. En réalité, tout est factice, mais le résultat correspond à ce que l’on cherche.

La page entreprise.html

J’ai choisi d’afficher les catégories par 2, mais vous pouvez simplifier le code en supprimant tout ce qui est html+la boucle _suite.

Cette page est simple, on liste toutes les catégories de notre table « catégorie » et on y colle un lien qui prend en paramètre le nom de la catégorie. (Et non l’id). Petit point interessant, pour trier les données, on utilise "tri_donnee NomChampSpecifiant". Ainsi il faut que le champ soit déclaré "spécifiant" et que l’on releve son nom de champ spécifiant en regardant dans la base de donnée, ou dans les URL servant à trier les données depuis la page d’administration. Ils sont de la forme "ligne_X"

Son code de squelette est le suivant

La page fichecat.html

Cette page n’est absolument pas optimisée, mais elle est tout de même la page qui posait problème à beaucoup de personnes. La liaison de table étant factice, comment réalisé les boucles ? Je ne sais pas comment Cédric fait, mais voici ma façon de faire.

D’abord, je vais chercher dans la table « FORMS_DONNES_CHAMPS » l’id qui correspond au nom de ma catégorie.

Ensuite je crée un tableau ’tab’ et j’y imbrique trois boucles (voir le code plus bas) :
-  la première sélectionne l’id_form de votre table « Entreprise »
-  la seconde sélectionne uniquement les id_donnee qui ont une correspondance à votre id de catégorie dans la table « FORMS_DONNEES_DONNEES. »
-  enfin la dernière choisit de n’afficher que le nom de l’entreprise et la range dans le tableau.

Si j’ai utilisé un tableau c’est parce que cet enchainement de boucles a un soucis que je n’ai su résoudre, des doublons. Alors grâce au tableau
je passe une petite fonction array_unique pour les balayer.

Enfin, je mets en lien ma ficheent.html avec en paramètre mon id_donnee (et accessoirement le nom de la catégorie si je veux l’afficher dans la fiche de mon entreprise)

La page ficheent.html

J’ai laissé exprès la mise en page pour montrer l’utilisation des différents type de champs, notamment les images.

Mon astuce pour afficher une image est d’utiliser un champ ligne de texte, d’utiliser l’uploader de SPIP (pour cela pensez a cocher « permettre l’ajout de fichiers » a la création de la table), puis en glisser/deposer, l’URL de mon image se retrouve dans ma ligne de texte.

Je traite a la suite mon champ dans une balise par un #SET puis un #GET qui prend en sus un filtre de création de vignette. (L’encapsulation de f&t doit pouvoir être utilisée mais je ne sais pas comment)

Bon sinon cette page est aussi simple que la première, on affiche nos différents champs (soit avec #LESVALEURS si on ne désire pas de mise en page, soit un par un grâce au critère {titre})

Conclusion

Si vous voulez voir le résultat final :
http://www.coutras-calic.fr/spip.php?page=entreprise. ou regardez le document joint.

Merci à tout les gens qui m’ont aidé sur la liste spip-zone, sur SPIP-Contrib et surtout le canal irc #spip@freenodes !

Si vous avez des questions ou des réponses aux choses que je n’ai su faire proprement n’hésitez pas ...

Autres exemples d’annuaire avec Forms & Tables

Ajout SPIP-Contrib

Voir cet intéressant article sur Spip Ô Toulouse : Premières solutions pour l’annuaire de personnes avec un exemple très parlant et qui décrit l’importation de données via le le plugin « import csv ».

Dernière modification de cette page le 16 avril 2009

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 26 janvier 2012 à 09:12, par tarentaise En réponse à : Annuaire avec Forms & Tables

    Bonjour,

    j’ai créé plusieurs tables qui utilise toutes des champs mots clés. Je cherche à récupérer dans une boucle le numéro du mot clé associé à une réponse pour le passer dans un lien. J’arrive à afficher la valeur ou le titre du mot clé sélectionné mais pas son numéro
    D’avance merci

    Répondre à ce message

  • Le 19 avril 2011 à 06:56, par marabbeh En réponse à : Annuaire avec Forms & Tables

    Selon moi ceci est un contre-exemple. J’ai créé aussi un annuaire en utilisant des tables non Spip. Je l’ai fait fonctionner à l’aide de boucles beaucoup plus simples que dans cet exemple, mais sur mon serveur local où Forms & Tables n’est pas installé. J’ai voulu faire fonctionner cet annuaire sur mon site en ligne, où Forms & Tables est installé, et les tables ne sont plus reconnues. Donc je suis venu voir pourquoi. Et cet exemple ne m’encourage pas à utiliser le technique présentée, bien que je tienne à conserver Forms & Tables pour cause de formulaires.

    Répondre à ce message

  • Le 27 mars 2011 à 03:50, par Guillaume M En réponse à : Annuaire avec Forms & Tables

    Bonjour,

    j’ai du mal à comprendre la liaison entre les deux tables :

    pour la page fichecat.html, cette étape m’échappe :

    - la seconde sélectionne uniquement les id_donnee qui ont une correspondance à votre id de catégorie dans la table « FORMS_DONNEES_DONNEES. »

    car je n’ai rien comme données dans la table "forms_donnees_donnees" sous PHPMyadmin après avoir créer les deux tables "catégorie" et "entreprise" sous l’interface privée SPIP avec le plugin.

    par conséquent la partie de code suivant de cette page ne donne rien :

    BOUCLE_lie(SPIP_FORMS_DONNEES_DONNEES)id_donnee_liee=#GETid_cat

    Quelque chose m’échappe, merci de m’éclairer.

    • Le 27 mars 2011 à 16:24, par Guillaume M En réponse à : Annuaire avec Forms & Tables

      Je me réponds en partie sur mon problème après avoir relu tous les commentaires depuis le début, je suis tombé sur un du 12 juillet 2007 de Pietrus :

      merci pour ta rapidité,
      il n’y a pas un probleme d’affichage avec ta réponse ?
      Dans la documentation tu dis qu’il est nécessaire d’utiliser un champ de table lié. mais où cela ? dans la table « entreprises » ? je créé un champ categorie dont la nature est « jointure » je suppose.
      puisqu’il n’y a pas qu’un champ dans la table catégorie.

      Après plusieurs essais, je crois comprendre qu’il faut créer dans les DEUX tables « entreprise » ET « catégorie », un champs qui aura pour type « jointure avec une autre table » (leur nom n’a pas besoin d’être identique mais c’est plus simple pour s’y retrouver je pense).

      Une fois créés, lorsque l’on rentre les infos à partir du formulaire « entreprise » dans l’interface privée, on peut sélectionner une catégorie pour une entreprise donnée . Ainsi la jointure est faite, cela créé automatiquement un lien dans la table « forms_donnees_donnees » visible sous PHPMyadmin.

      Maintenant, je bloque sur la page listing.html qui ne veut pas s’afficher à partir des liens de la page catégorie ! Affaire à suivre...

    Répondre à ce message

  • Le 1er juin 2010 à 17:09, par rtopnb En réponse à : Annuaire avec Forms & Tables

    Bonjour,

    JE débute avec spip, je dois réaliser un annuaire de personne. je me suis donc servis du tuto ci-dessus en essayant de l’adapter à mon projet mais je n’arrive pas a afficher les images. seul le nom « nom.jpg » de l’image apparait. Là je comprend pas comme je pourrais faire.

    Voici ce que j’ai fait :
    Au lieu d’avoir 3 pages, j’ai une page « liste_cartégorie » et une page« details » : qui affiche les personnes composant la categorie (photo + non + tel +adresse..)
    "
    J’ai donc 2 tables : la premier « categorie » avec un champ : nom_cat et la second : service, qui dispose de plusieurs champ text avec commme champ spécifiant le champ : nom.
    le codes de la page « détail » est joind en fichier image

    A l’affichage j’ai :

    catégorie 1
    photo.jpg <= le problème est donc ici
    M. Dupond
    Technicien
    Tel.
    etc

    Ps je précise que j’ai bien autoriser l’ajout de fichier à la création de la table
    Merci pour votre aide

    JPEG - 140 ko
    • Le 11 août 2010 à 16:56, par Melo En réponse à : Annuaire avec Forms & Tables

      Bonjour, c’est exactement que j’aimerais faire !! Mais les fichiers ne sont plus disponibles ? je ne les vois pas sur la page.. sniiiff !
      Merci

    Répondre à ce message

  • Le 24 février 2010 à 11:16, par ? En réponse à : compatibilité avec forms 2.0 ?

    compatibilité avec forms 2.0 ?
    savez vous comment faire ?

    Répondre à ce message

  • Le 13 février 2010 à 19:44, par Djyp En réponse à : Annuaire avec Forms & Tables

    J’ai réussi à faire un annuaire des associations mais j’ai eu un problème que j’ai fininalement réussi à résoudre.
    Je ne sais si c’est lié à Spip 2 mais je me suis retrouvé avec, dans la liste des associations d’une catégorie, trois fois chaque association ... Pour le clic sur l’un des trois liens identiques j’avais dans la fiche de l’asso, deux fois chaque donnée.

    Il s’avère que par une mauvaise manip en supprimant un formulaire des données sont restées existantes dans FORM_CHAMPS. Une fois enlevée à la main mes fiches sont bien présentées

    Une petite erreur dans le squelette, par contre, était dûe aux doublons dans la listes des associations d’une certaine catégorie.

    Voici donc ma version :

    <BOUCLE_categorie(SPIP_FORMS_DONNEES_CHAMPS)valeur=#ENVnom_cat>
    #SETid_cat,#ID_DONNEE
    </BOUCLE_categorie>

    #SETtab,#ARRAY0,0

    <BOUCLE_reponses(FORMS)id_form=2>
    <BOUCLE_lie(SPIP_FORMS_DONNEES_DONNEES)id_donnee_liee=#GETid_cat>
    <BOUCLE_champs(FORMS_CHAMPS)titre=Nomtri_donnee ligne_1>
    [<div class="bordureCat2"><a href="spip.php ?page=annuaire_fiche&nom_cat=#ENVnom_cat&id_donnee=#ID_DONNEE"><b>(#VALEUR|in_array[(#GET**tab)]| ?’’,#VALEUR)]
    </b></a></div>
    </BOUCLE_champs>
    </BOUCLE_lie>

    </BOUCLE_reponses>

    Bon en gros j’ai juste mis

    <BOUCLE_reponses(FORMS)id_form=2>

    Au lieu de

    <BOUCLE_reponses(FORMS_DONNEES)id_form=2>

    Et désormais ça marche NICKEL :)

    Répondre à ce message

  • Le 13 octobre 2009 à 00:33, par ? En réponse à : Annuaire avec Forms & Tables

    Excuse mon manque de vocabulaire technique mais qu’entends-tu par « en SVN sur le serveur »

    • Le 13 octobre 2009 à 06:32, par Pierre KUHN En réponse à : Annuaire avec Forms & Tables

      BOnjour

      En fait tu ne le trouveras pas sous format ziper comme pour plein d’autre. Contact moi en priver je te ferais un zip mais sache que comme il existe pas en ziper cela veut dire qu’il n’est pas opérationnel totalement (je m’en sers quand même)

    Répondre à ce message

  • Le 28 août 2009 à 11:14, par Kiwi En réponse à : Pour spip 2 ?

    Bonjour,
    Existe-t’il une version de Forms & Tables pour SPIP 2 ?

    • Le 12 octobre 2009 à 22:01, par Pierre KUHN En réponse à : Pour spip 2 ?

      Certain te dirais que non mais en faites tu la retrouve en svn sur le serveur.

    Répondre à ce message

  • Le 17 novembre 2008 à 15:44, par Julien En réponse à : Annuaire avec Forms & Tables

    Bonjour,

    J’ai suivi étape par étape le tutorial ci-dessus et tout fonctionne nickel. Seulement j’aimerai faire une petite variante mais je m’en sort pas du tout. Dans l’éxemple nous avons le cheminement suivant : Les entreprises (par catégorie) -> Les noms d’entreprises (liste) -> Les informations de l’entreprise.

    Moi j’aimerai pourvoir avant toutes ces étapes séléctionner le Pays. Cheminement :
    Les Pays -> Les entreprises (par catégorie) -> Les noms d’entreprises (liste) -> Les informations de l’entreprise.

    J’ai bien essayé d’ajouter un troisième table de référence mais cela mélange les informations. Je n’arrive vraiment à rien. Quelqu’un peut-il m’aider ?

    Merci pour votre attention,

    Julien

    Répondre à ce message

  • Le 27 octobre 2008 à 20:22, par ? En réponse à : Forms & Tables et moteur de recherche spip

    l’ancien code proposé sur ce forum pour integrer la recherche sur les tables de « forms et table » au moteur de recherche de spip ne fonctionne plus,

    quelqu’un a t’il une proposition ?

    un code à ajouter dans recherche.html pour permettre la recherche sur des tables

    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

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Import ICS 2 (agenda distant)

    2 août – 35 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • Newsletters

    16 janvier 2013 – 374 commentaires

    Ce plugin permet de composer des Info-lettres. Par info-lettre, on désigne ici le contenu éditorial qui va être composé et envoyé par courriel à une liste d’inscrits. Le plugin permet de composer une info-lettre à partir d’un modèle pré-composé, (...)

  • CKeditor 3.0

    4 octobre 2009 – 1217 commentaires

    CKeditor est l’évolution de l’éditeur WYSIWYG : FCKeditor, avec ce plugin vous pourrez utiliser cet éditeur à la place de l’éditeur de spip tout en laissant le choix à vos auteurs de l’éditeur qu’ils préfèrent utiliser. Attention : cet éditeur WYSIWYG (...)

  • GIS 4

    11 août 2012 – 1284 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

Ça spipe par là