Rechercher dans certains types de profils (avec le module Profile2)

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.

Bonjour,

Je propose aux utilisateurs de mon site un profil principal succin (en gros seulement une adresse mail valide, un pseudo, un mot de passe) et un profil optionnel plus détaillé (plein de renseignements personnels mais anonymes, donc sans accès au mail ni même au pseudo correspondant) grâce au module Profile2.

J'aimerais maintenant créer un formulaire recherche spécifique parmi ces profils optionnels, comportant autant de champs de recherche possibles qu'il y a de champs à remplir pour le créer, et si possible des critères type "plus grand que", "inférieur à"... Le tout ne cherchant QUE dans ces profils détaillés (et non dans l'ensemble du site).

J'ai cru voir quelques modules intéressant mais avant de tester tout ça j'aimerais l'avis de quelqu'un de plus avancé que moi sur la marche à suivre.

Merci

Version de Drupal : 

Merci Numerizen pour ta réponse qui m'a bien fait avancer.

Je me demande à présent comment rendre vraiment "optionnel" le second profil, en fonction d'une case à cocher "profil optionnel ? Oui / non".

Une idée ?

Ce serait au niveau User : l'utilisateur, qui a déjà un profil "normal" (pseudo, mail, pass + 2 ou 3 détails), valide (ou non) une case lui conférant un profil "optionnel" supplémentaire contenant de très nombreux champs.

Côté admin, le nombre et la nature de chaque champs serait fixé une fois pour toute pour tous les utilisateurs (comme c'est le cas par défaut avec Profile2 d'ailleurs).

La difficulté vient donc uniquement de l'accès CONDITIONNEL à ce 2ème profil, évitant aux utilisateurs qui ne souhaitent pas participer à cette fonctionnalité particulière d'aller s'y perdre (et du même coup être comptabilisés à tord comme participants).

J'hésite à me lancer dans le codage s'il est possible de contourner le problème, et je me demande d'ailleurs si la création d'un "profil" est bien adapté à ce que je cherche à faire.

Alternativement, est-il possible de proposer un type de contenu qui contiendrait les infos que je prévoyais en profil optionnel ? L'idée serait que tous les utilisateurs aient la possibilité de créer un et un seul contenu de ce type, que l'on pourrait appeler leur "fiche" personnelle;

Je vois très bien comment construire ce contenu, mais beaucoup moins comment restreindre à une seule "fiche" par utilisateur : comment faire ça ?

Cela n'arrangera pas la question du profil optionnel, et ne la rendra pas plus facile à implémenter.

Profile me paraît tout à fait adapté pour ce cas, et il ne me semble pas que ce soit une bonne idée de l'abandonner à cause de ce problème.

Pour limiter le code, vous pouvez vous contenter d'un peu de JQuery, par exemple dans le thème. En CSS, vous masquez le second formulaire avec display:none et sur l'évènement change de la case à cocher, vous remettez le display à block.

Si la limite d'une seule publication par utilisateur sur ce type de fiche est possible, je n'ai plus besoin de profile2 : la fiche devient le "profil" optionnel et je peux faire en sorte de placer l'invitation à la rédiger où je le souhaite dans le site, avec un alias de lien de type /fiche_perso, et le tour est joué ! La fiche reste liée à son auteur et donc correspond à un profil qui n'est pas accessible depuis "mon compte", ce qui me va tout à fait.

Le hic est que je ne sait pas s'il est possible de créer un type de contenu dont tout le monde est rédacteur d'un et un seul exemplaire. C'est possible ?

Adapter le CSS parait moins casse-gueule, mais cela reste une adaptation valide uniquement sur les styles "customisés". Ce genre de patch, j'essaie d'éviter, c'est vite galère à gérer.

En fait ce qu'il me manque c'est de pouvoir utiliser "flag" (http://drupal.org/project/flag) sur le compte utilisateur : je n'ai pas encore trouvé comment, mais ça pourrait me permettre de créer une règle d'affichage du profil optionnel (http://drupal.org/project/rules).

Flag n'est pas du tout fait pour ça, a priori. Et même si vous parvenez à l'utiliser, ce sera bien compliqué.

La piste de Rules peut être intéressante, mais franchement je pense qu'il vaut mieux faire un peu de code comme je l'ai dit plus haut.

Éviter de faire du code peut être une bonne pratique, mais cela reste un fantasme pour la plupart des sites. Votre use case est un cas d'école sur ce sujet.