Comment créer une liste automatique des membres d'une équipe?

Présentation du Kit Web du CNRS Forums Utilisation du Kit Web CNRS Comment créer une liste automatique des membres d'une équipe?

Ce sujet a 10 réponses, 3 participants et a été mis à jour par  SARR Daouda, il y a 1 mois et 1 semaine.

11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Messages
  • #6941

    Bonjour,

    La taxomonie « Equipe » existe et en alimentant l’annuaire on attribue chaque membre à une équipe. On peut par exemple faire le tri des membres par équipe sur la page de l’annuaire. Maintenant, on souhaite insérer dans nos pages d’équipe (statique) une liste de membres à partir de cette catégorie existante « équipe/organisation » dans le Kit Web. Avez-vous déjà réalisé ce type de liste éventuellement?

    Merci par avance pour votre aide !
    Claudia Pichon-Starke

    #6974

    SARR Daouda
    Participant

    Vous pouvez utiliser les shortcode [pods] pour afficher une liste. Par exemple :

    [pods name="contact" where="organisation_contact = 'Equipe1'"]
    {@nom} {@prenom}
    [/pods]

    Ce code va afficher une liste avec les nom+prenom des « contact » de l’équipe (« organisation_contact » dans le kit) qui s’appelle « Equipe1 ».

    #6980

    Bonjour et merci beaucoup !

    Faudra-t-il intégrer ce code dans un widget html (d’une page) ou créer un template pod? Ou carrément le mettre dans le code principal, mais où? J’ai essayé de l’intégrer dans le code d’une page mais il m’indique l’erreur suivante :

    Database Error; SQL: SELECT DISTINCT t.* FROM w9p8MmNkS5ng_posts AS t WHERE ( ( organisation_contact = ‘POP’ ) AND ( t.post_type = « contact » ) AND ( t.post_status IN ( « publish » ) ) ) ORDER BY t.menu_order, t.post_title, t.post_date LIMIT 0, 15; Response: Unknown column ‘organisation_contact’ in ‘where clause’

    Pour le champ « where », ne faudra-t-il pas plutôt indiquer « team » qui est le nom du champ « Equipe » dans le pod « Contact »?

    Sauriez-vous m’en dire plus éventuellement?

    Merci par avance pour votre aide et bonne journée !
    Claudia Pichon-Starke

    #6984

    SARR Daouda
    Participant

    C’est bien directement dans la page, les shortcode s’intègrent normalement dans les 3.

    Oui, il faut remplacer par « team » alors ! (il s’appelle « organisation_contact » chez moi 🙂 )

    Bonne journée !

    #6987

    Bonjour, merci beaucoup ! Au risque d’être embêtante (je ne suis pas informaticienne), maintenant j’obtiens les 15 premiers noms de l’annuaire, indépendamment de l’équipe dont ils font partie… Le système ignore simplement le « where », peu importe si je mets « organisation_contact » ou « team ». Pour bien comprendre : « where » se réfère au champ dédié aux entrées « équipes » qui se trouve dans le pod « contact ». Et non le pod « Equipes » lui-même? Et puis : au lieu des [] il faut bien mettre de <>… 😉

    J’ai fait un essai de le mettre dans le code d’une page simple. Puis j’ai fait un essai en intégrant un « Code court de pods » dans une page en choississant l’option « Lister plusieurs éléments pods » puis en mettant dans le champ « modèle personnalisé » votre code que vous m’aviez donné »… Et c’est pareil, il affiche les 15 premiers noms de l’annuaire… sans distinction d’équipe… 🙁

    Merci encore pour votre aide et bonne journée,
    Claudia

    #6996

    Juste un rajout : « organisation_contact » fait-il référence à la taxonomie qui est liée au pod « contact »? Pour faire le « Where »? En tout cas, j’ai fait d’autres tests et ça ne prend toujours pas en compte les équipes…

    Serait-il possible éventuellement de m’envoyer un shortcut de votre écran (claudia.starke@lpl-aix.fr)? Je travaille au Laboratoire Parole et Langage à Aix-en-Provence, vous le connaissez certainement car on a des sujets en commun avec le CRMBM… 😉

    Merci encore et à bientôt,
    Claudia

    #7014

    Seguinot Christophe
    Participant

    Je confirme que ces solutions ne sont pas fonctionnelles. Je n’ai pas encore trouvé la solution!

    #7015

    SARR Daouda
    Participant

    Pour les shortcodes ce sont bien des [] (balises WordPress qui appellent des fonctions particulières) et non des <>.

    Après c’est vrai qu’il y a parfois des subtilités et n’ayant pas exactement les même entitées/pods je pense que le résultat peut être différent.

    Dans mon cas j’ai une seule entité « équipe », et c’est bien la taxonomie qui est liée au pod «contact» dans le kit (et qui s’appelait « organisation_contact ».

    Par contre j’ai crée un Modèle De Page (en PHP) pour afficher cette liste (plus de flexibilité qu’avec les shortcodes) :

    <?php $team = pods('organisation_contact')->find(array(
    					'limit' => -1,
    				));
    
    echo '<div class="team-membres">';
    $membre = pods('contact')->find(array(
    'where' => 'organisation_contact.slug LIKE "'.$team->field('slug').'" ',
             'limit' => -1,
              ));
    while ( $membre->fetch() ) {
      echo '<p>'.$membre->display( 'nom' ).' '.$membre->display( 'prenom' ).' &mdash; '.$membre->display( 'job' ).'</p>';
    }
    echo '</div>'; ?>
    

    C’est un peu plus technique à mettre en place mais c’est expliqué par ici :
    https://wpchannel.com/wordpress/tutoriels-wordpress/creer-modele-page-wordpress/

    #7016

    Seguinot Christophe
    Participant

    Got’it!

    [pods name="contact" where="organisation_contact.name = 'Equipe1'"] {@nom} {@prenom} [/pods]
    ou ‘Equipe 1’ est le nom de l’équipe tel qu’affiché dans la liste déroulante du filtre sur la page annuaire…

    #7019

    Génial ! Merci à tous les deux !

    Du coup, j’ai complété par d’autres champs et par une limite à 100 car, par défaut, c’est 15 😉

    [

    <h2>Membres de l’équipe POP</h2>

    [pods name="contact" where="organisation_contact.name = 'POP'" limit="100"]

    <b>{@nom} {@prenom}</b> – {@job}
    {@email}

    [/pods]

    ]

    #7020

    SARR Daouda
    Participant

    C’est exact, au temps pour moi !

    J’avais oublié de spécifier le champ derrière « organisation_contact » (« oragnisation_contact.name » pour exécuter la requête sur le nom d’affichage ou bien « organisation_contact.slug » pour l’exécuter sur l’identifiant.

11 sujets de 1 à 11 (sur un total de 11)

Vous devez être connecté pour répondre à ce sujet.