Inscription : afficher un champ non obligatoire du profil
3 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Inscription : afficher un champ non obligatoire du profil
Détails techniques
Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Capture d'écran du problème :
- Voir l'image:
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : https://mllealys2.forumactif.org/
Description du problème
Bonjour !Actuellement, les champs affichés lors de l'enregistrement d'un nouvel utilisateur sont les informations d'enregistrement (nom, email, mot de passe), et les champs obligatoires du profil.
Y-a-t-il un moyen d'afficher un champ de profil facultatif lors de l'enregistrement d'un nouvel utilisateur ?
(oui, les suggestions sont des mines d'or de nouvelles idées, et celle là m'intéresse bien ! )
Merci à ceux qui se pencheront sur ma question !
MlleAlys- Membre actif
- Messages : 5801
Inscrit(e) le : 12/09/2012
MlleAlys- Membre actif
- Messages : 5801
Inscrit(e) le : 12/09/2012
Re: Inscription : afficher un champ non obligatoire du profil
Bonjour !
J'ai tenté la manip suivante sur le champ humeur : j'ai rendu le champ obligatoire, je me suis rendu sur la page d'inscription, j'ai copié le code correspondant au champ. J'ai ensuite remis le champ en non obligatoire, je suis retourné sur la page inscription, j'ai ajouté le champ que j'avais sauvegardé à la main, j'ai tout rempli, mais une fois la validation de l'inscription faite, le champ humeur est resté vide.
A la limite, on peut tenter l'option inverse : mettre le champ obligatoire (tout en retirant l'étoile si visuellement nécessaire), et si rien n'a été rempli par l'utilisateur, alors mettre une valeur par défaut via JavaScript ! Là, ça pourra fonctionner. Mais le code va dépendre du champ, de son id, de ce qu'il doit contenir, etc.
J'ai tenté la manip suivante sur le champ humeur : j'ai rendu le champ obligatoire, je me suis rendu sur la page d'inscription, j'ai copié le code correspondant au champ. J'ai ensuite remis le champ en non obligatoire, je suis retourné sur la page inscription, j'ai ajouté le champ que j'avais sauvegardé à la main, j'ai tout rempli, mais une fois la validation de l'inscription faite, le champ humeur est resté vide.
A la limite, on peut tenter l'option inverse : mettre le champ obligatoire (tout en retirant l'étoile si visuellement nécessaire), et si rien n'a été rempli par l'utilisateur, alors mettre une valeur par défaut via JavaScript ! Là, ça pourra fonctionner. Mais le code va dépendre du champ, de son id, de ce qu'il doit contenir, etc.
Re: Inscription : afficher un champ non obligatoire du profil
Arf, dommage =/ Merci pour ta rep !
J'avais pensé à la possibilité de mettre un contenu par défaut qui est déjà dans le panneau, mais j'avoue que ça m'intéressait justement plutôt qu'il puisse rester vide, non affiché dans le profil si non rempli... ^^"
(pour l'étoile par contre je m'en fiche un peu )
Si c'est un code qui dépend de l'id du champ, ça ne m'embête pas si je comprends comment l'adapter ! Disons pour un champ texte basique ^^ (comme par exemple le premier du profil sur mon forum test)
J'avais pensé à la possibilité de mettre un contenu par défaut qui est déjà dans le panneau, mais j'avoue que ça m'intéressait justement plutôt qu'il puisse rester vide, non affiché dans le profil si non rempli... ^^"
(pour l'étoile par contre je m'en fiche un peu )
Si c'est un code qui dépend de l'id du champ, ça ne m'embête pas si je comprends comment l'adapter ! Disons pour un champ texte basique ^^ (comme par exemple le premier du profil sur mon forum test)
MlleAlys- Membre actif
- Messages : 5801
Inscrit(e) le : 12/09/2012
Re: Inscription : afficher un champ non obligatoire du profil
Admettons, sur mon forum, le champ "Humeur" correspond à l'id : #profile_field_13_-8
Le formulaire form, lui, possède l'id : #form_register
On pourrait les trouver en inspectant l'élément dans le formulaire d'inscription :
Sur l'évènement de validation du formulaire #form_register, on teste la valeur entrée dans le champ #profile_field_13_-8 et si c'est vide, on remplace par un espace, histoire de faire en sorte que ce ne soit pas vide :
Maintenant, la personne peut s'inscrire même si elle n'a rien écrit dans le champ.
Ensuite, si on veut que ce champ ne soit pas affiché dans le profil s'il n'est pas rempli (si c'est un espace donc), alors on peut rajouter ce genre de code :
Pour trouver cet id #field_id-8, on garde la logique du -8 en fin de champ (humeur était l'id #profile_field_13_-8 qui terminait par -8 donc, et c'est ce -8 que je garde pour trouver l'id #field_id-8 dans la page profil), c'est comme ça qu'il est écrit sur phpBB2 dans la page profil en tout cas.
Bon... ce code empêche aussi la personne de pouvoir éditer ce champ depuis la page profil. Si on veut palier au problème, on compare la valeur de la donnée _userdata["user_id"] (qui contient l'identifiant du membre actuellement connecté) avec le numéro qu'il y a après le /u dans l'url ; si c'est le même numéro, on ne supprime pas le champ même s'il est égal à espace :
Normalement, on a déjà une bonne base avec ça !
S'il faut aussi le supprimer dans les messages, ce sera un peu plus pénible, parce qu'il n'y a pas de champ particulier à cibler sur phpBB2 tant qu'on ne modifie par le Template... mais c'est également faisable je pense. Il le faudrait aussi ou ça va ?
Le formulaire form, lui, possède l'id : #form_register
On pourrait les trouver en inspectant l'élément dans le formulaire d'inscription :
Sur l'évènement de validation du formulaire #form_register, on teste la valeur entrée dans le champ #profile_field_13_-8 et si c'est vide, on remplace par un espace, histoire de faire en sorte que ce ne soit pas vide :
- Code:
$(function(){
$('#form_register').submit(function(){
if ($('#profile_field_13_-8').val() == ''){
$('#profile_field_13_-8').val(' ');
}
});
Maintenant, la personne peut s'inscrire même si elle n'a rien écrit dans le champ.
Ensuite, si on veut que ce champ ne soit pas affiché dans le profil s'il n'est pas rempli (si c'est un espace donc), alors on peut rajouter ce genre de code :
- Code:
$(function(){
if ($('#field_id-8 .field_uneditable').html() == ' '){
$('#field_id-8').remove();
}
});
Pour trouver cet id #field_id-8, on garde la logique du -8 en fin de champ (humeur était l'id #profile_field_13_-8 qui terminait par -8 donc, et c'est ce -8 que je garde pour trouver l'id #field_id-8 dans la page profil), c'est comme ça qu'il est écrit sur phpBB2 dans la page profil en tout cas.
Bon... ce code empêche aussi la personne de pouvoir éditer ce champ depuis la page profil. Si on veut palier au problème, on compare la valeur de la donnée _userdata["user_id"] (qui contient l'identifiant du membre actuellement connecté) avec le numéro qu'il y a après le /u dans l'url ; si c'est le même numéro, on ne supprime pas le champ même s'il est égal à espace :
- Code:
$(function(){
if (_userdata["user_id"] != window.location.pathname.slice(2)){
if ($('#field_id-8 .field_uneditable').html() == ' '){
$('#field_id-8').remove();
}
}
});
Normalement, on a déjà une bonne base avec ça !
S'il faut aussi le supprimer dans les messages, ce sera un peu plus pénible, parce qu'il n'y a pas de champ particulier à cibler sur phpBB2 tant qu'on ne modifie par le Template... mais c'est également faisable je pense. Il le faudrait aussi ou ça va ?
Re: Inscription : afficher un champ non obligatoire du profil
Merci pour ton aide !
Alors, au départ ça ne fonctionnait pas du tout, et j'ai mis un moment à vérifier plein de trucs dans les options de mon panneau avant de me rendre compte qu'il manquait une fermeture d'accolade dans le premier code ^^"
Du coup, voici le javascript que j'ai mis "sur toutes les pages" :
La première partie pour valider le champ à l'inscription fonctionne très bien, ainsi que dans les options du profil, par contre :
- Lorsque le membre édite les champs individuellement depuis l'aperçu de son profil, impossible de laisser le champ vide cette fois. J'ai essayé de refaire un peu le même code pour l'adapter à cet endroit là, mais... sans succès malheureusement...
- le deuxième javascript pour afficher ou non le champ n'a pas l'air de fonctionner : Il est systématiquement affiché. Est-ce que ça pourrait venir de la class ".field_uneditable" que je ne retrouve pas en inspectant ?
- Si on parvient à corriger cette partie pour que cela fonctionne, les administrateurs et modérateurs y auront-ils cependant toujours accès ? Il me semble que non, mais du coup peut-on compléter le code pour que ce soit le cas ?
- Dans l'idéal oui, j'aurais aimé que le comportement soit celui dans champ facultatif y compris à côté des messages... ^^"
ça parait beaucoup de manips et de complications pour "juste" ça, je ne sais pas si ça vaut le coup ?
Enfin, dans le sens où je te remercie énormément de ton aide, j'avoue que j'espérais qu'il existerait une astuce plus simple (dommage que la première stratégie d'ajouter le champ à la main dans le formulaire n'ait pas fonctionné !), et l'idée n'étant pas d'une importance capitale, je n'ai pas envie de monopoliser de ton temps (ou celui de quelqu'un d'autre) pour "juste" cette idée là !
Donc je ne tiens pas forcément à insister sur cette voie, mais bien sûr que si tu as envie de continuer à creuser le truc, je serai ravie de continuer à tester tout ça !
Mais sinon, je vais peut-être me contenter d'une suggestion supplémentaire pour forumactif !
En tout cas, merci encore beaucoup de ton aide !
Alors, au départ ça ne fonctionnait pas du tout, et j'ai mis un moment à vérifier plein de trucs dans les options de mon panneau avant de me rendre compte qu'il manquait une fermeture d'accolade dans le premier code ^^"
Du coup, voici le javascript que j'ai mis "sur toutes les pages" :
- Code:
$(function(){
$('#form_register').submit(function(){
if ($('#profile_field_13_6').val() == ''){
$('#profile_field_13_6').val(' ');
}
});
});
$(function(){
if (_userdata["user_id"] != window.location.pathname.slice(2)){
if ($('#field_id-6 .field_uneditable').html() == ' '){
$('#field_id-6').remove();
}
}
});
La première partie pour valider le champ à l'inscription fonctionne très bien, ainsi que dans les options du profil, par contre :
- Lorsque le membre édite les champs individuellement depuis l'aperçu de son profil, impossible de laisser le champ vide cette fois. J'ai essayé de refaire un peu le même code pour l'adapter à cet endroit là, mais... sans succès malheureusement...
- le deuxième javascript pour afficher ou non le champ n'a pas l'air de fonctionner : Il est systématiquement affiché. Est-ce que ça pourrait venir de la class ".field_uneditable" que je ne retrouve pas en inspectant ?
- Si on parvient à corriger cette partie pour que cela fonctionne, les administrateurs et modérateurs y auront-ils cependant toujours accès ? Il me semble que non, mais du coup peut-on compléter le code pour que ce soit le cas ?
- Dans l'idéal oui, j'aurais aimé que le comportement soit celui dans champ facultatif y compris à côté des messages... ^^"
ça parait beaucoup de manips et de complications pour "juste" ça, je ne sais pas si ça vaut le coup ?
Enfin, dans le sens où je te remercie énormément de ton aide, j'avoue que j'espérais qu'il existerait une astuce plus simple (dommage que la première stratégie d'ajouter le champ à la main dans le formulaire n'ait pas fonctionné !), et l'idée n'étant pas d'une importance capitale, je n'ai pas envie de monopoliser de ton temps (ou celui de quelqu'un d'autre) pour "juste" cette idée là !
Donc je ne tiens pas forcément à insister sur cette voie, mais bien sûr que si tu as envie de continuer à creuser le truc, je serai ravie de continuer à tester tout ça !
Mais sinon, je vais peut-être me contenter d'une suggestion supplémentaire pour forumactif !
En tout cas, merci encore beaucoup de ton aide !
MlleAlys- Membre actif
- Messages : 5801
Inscrit(e) le : 12/09/2012
Re: Inscription : afficher un champ non obligatoire du profil
Bonjour, Attention, cela fait 6 jours que nous n'avons pas de nouvelles concernant votre demande, si vous ne voulez pas voir votre sujet déplacé à la corbeille, merci de poster dans les 24h qui suivent ce message. Si votre sujet est résolu, merci d'éditer votre premier message et de cocher l'icône « résolu » |
Re: Inscription : afficher un champ non obligatoire du profil
Oh mince pardon, voilà que j'oublie mes propres sujets !
Je laissais un peu de temps à Toryudo s'il voulait répondre, ou à quelqu'un d'autre qui aurait eu une idée, mais j'ai oublié de remonter...
Mais donc je pense qu'on va pouvoir verrouiller le sujet ^^"
Du coup je ne suis pas sûre qu'on puisse dire que le problème est résolu, mais on a un bon début tout de même avec les codes de Toryudo ? Merci encore !
Je laissais un peu de temps à Toryudo s'il voulait répondre, ou à quelqu'un d'autre qui aurait eu une idée, mais j'ai oublié de remonter...
Mais donc je pense qu'on va pouvoir verrouiller le sujet ^^"
Du coup je ne suis pas sûre qu'on puisse dire que le problème est résolu, mais on a un bon début tout de même avec les codes de Toryudo ? Merci encore !
MlleAlys- Membre actif
- Messages : 5801
Inscrit(e) le : 12/09/2012
Re: Inscription : afficher un champ non obligatoire du profil
Bonjour, Attention, cela fait 6 jours que nous n'avons pas de nouvelles concernant votre demande, si vous ne voulez pas voir votre sujet déplacé à la corbeille, merci de poster dans les 24h qui suivent ce message. Si votre sujet est résolu, merci d'éditer votre premier message et de cocher l'icône « résolu » |
Re: Inscription : afficher un champ non obligatoire du profil
Bonjour, Nous n'avons plus de nouvelle de l'auteur de ce sujet depuis plus de 7 jours. Nous considérons donc ce problème comme résolu ou abandonné. La prochaine fois, merci de nous tenir au courant de l'évolution de votre problème, ou pensez à faire un UP régulièrement ! Ce sujet est archivé afin de ne pas perdre les réponses apportées. |
Sujets similaires
» Champ du profil non obligatoire ne s'affiche pas
» Inscription de membres - champ de profil qui disparait !
» Afficher un champ du profil qu'aux membres du groupe...
» [Membres] Afficher/Cacher un champ du profil
» Afficher un champ dans le profil, tout en permettant de ne pas le remplir
» Inscription de membres - champ de profil qui disparait !
» Afficher un champ du profil qu'aux membres du groupe...
» [Membres] Afficher/Cacher un champ du profil
» Afficher un champ dans le profil, tout en permettant de ne pas le remplir
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum