La date/heure actuelle est Ven 19 Avr 2024 - 16:55

1 résultat trouvé pour profile_field_13_-8

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 :

Tag profile_field_13_-8 sur Forum gratuit : Le forum des forums actifs Image83



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 ?
par Toryudo
le Dim 14 Aoû 2022 - 20:23
 
Rechercher dans: Archives des problèmes avec un code
Sujet: Inscription : afficher un champ non obligatoire du profil
Réponses: 9
Vues: 1050

Revenir en haut

Sauter vers: