Page Equipe

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

A votre avis quelle est la meilleure façon de réaliser ce type de page :

une page présentant l'équipe d'une entreprise avec une liste de vignettes des photos des collaborateurs et en cliquant sur une photo, la page (sans rechargement si possible) intègre le détail du collaborateur.

J'ai pour le moment créer un type de contenu CCK avec les datas (prénom, nom, photo etc...)et utilise views pour insérer la liste des vignettes, je bloque maintenant sur le chargement du détail. Une idée ?

Merci par avance pour vos réponses.

Forum : 
Version de Drupal : 

Et pourquoi ne pas utiliser simplement le module de core "user" ? Tu actives les portraits dans les paramètres des utilisateurs (/admin/user/settings), tu actives le module "profile" en renseignant les datas (prénom, nom, etc...), tu crées une vue de type "utilisateur" que tu affiches sous la forme d'une grille ou d'un tableau avec les bons champs (portraits, prénom et nom) en n'oubliant pas de les faire pointer sur la fiche de leur profil détaillé.

Si tu souhaites afficher les détails sans rechargement de la page, ajoute en plus tous les champs que tu souhaites voir apparaître au clic sur la photo.

Et après il faut mettre la main sur les css et sur le javascript.

En css : tu mets des display:none sur les champs (ou le div englobant) correspondants aux détails du collaborateur.

En javascript tu écris une fonction qui ressemble à quelque chose comme :

$(document).ready(function(){
  // au clic sur un portrait
  $("#ma-vue-des-collaborateurs .field-image-portrait").click(function(){
    // on cache tout
    $("#ma-vue-des-collaborateurs .ma-classe-avec-les-details").hide();
   
    //on montre l'element cliqué en supposant que le div .ma-classe-avec-les-details vient après
    $(this).next(".ma-classe-avec-les-details").fadeIn("slow");
  });
});

Cette solution est rapide mais pas vraiment propre, puisque dès le départ on génère une page avec tous les détails chargés.

On pourrait mettre en place une solution en Ajax qui n'est pas forcément plus complexe.

Et pour revenir au choix de départ, si un jour on te demande d'ouvrir des comptes sur le site pour les collaborateurs de l'entreprise et ben ça sera déjà ça de fait.

Le display:none concerne les css.

Imaginons effectivement le cas où l'utilisateur désactive le javascript. Il faudra lier l'image à la page profil.

Je change un peu le javascript

// clic sur le lien
$("#ma-vue-des-collaborateurs a").click(function(){
  // on cache tout
    $("#ma-vue-des-collaborateurs .ma-classe-avec-les-details").hide();
  
    //on montre l'element cliqué en supposant que le div .ma-classe-avec-les-details vient après
    $(this).next(".ma-classe-avec-les-details").fadeIn("slow");
  return false;
});

J'ai rajouté un return false; pour empêcher le lien d'aller vers ma page profile

Et si je désactive le javascript, et bien je vais sur ma page profile.

Je n'ai pas le sentiment que PixMe a parlé de créer un compte sur le site à chaque membre de l'équipe. Ce sont deux choses différentes. Ce n'est pas parce que son problème consiste à gérer des personnes que la solution passe par créer un compte à chacune ! en faire des utilisateurs Drupal ça veut dire gérer leurs permissions, leurs rôles ; si il/elle a besoin de configurer l'affichage des blocs selon les rôles, merci la galère !

Un type de contenu et la vue qui va avec c'est une bonne solution ; et le views accordion suggéré par nyl auster devrait résoudre le problème principal, qui est d'afficher des infos supplémentaires "à la demande".

Merci pour vos retour, j'avais pensé à la solution javascript (display:none), mais cela ralentit le chargement de la page car comme bien expliqué tt les éléments sont chargés. La solution Ajax semble intéressante.Je vais aussi tester le système Views Accordion.

Je test et reviens vers vous pour vous donner mon avis.

Finalement,

La mise en place de cette page a été réalisée avec javascript. Avec un slider et des vignettes qui pointent vers le bon contenu.

Voir ce script :
http://cssglobe.com/post/5780/easy-slider-17-numeric-navigation-jquery-s....

Et ici une comparaison des modules existants pour drupal:
http://drupal.org/node/418616

Merci pour vos réponses,

A plus tard,
Ghislain