La tambouille des râleuses
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Aller en bas
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 3:03
Bonjour les râleuses

Avant de poser mes questions je tiens à vous remercier pour cette astuce :
===> https://tambouille-raleuses.forumactif.com/t281-modifier-l-affichage-des-champs-de-profil


Voici le rendu sur mon forum :
Afficher / Masquer :

Comment faire pour créer un espace entre l'icône font awesome et le texte du champ ?

Sur mon forum j'ai ce script sur les sous-forums pour avoir un aperçu du premier message au survol de souris sur le topic :


À l'aperçu les icônes font awesome n'apparaissent pas
Afficher / Masquer :

Existe-t-il un moyen pour visualiser les icônes font awesome avec cette astuce ?

Merci beaucoup
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 9:34
Coucou Smile

Pour l'espace, ça sera de la CSS, par exmeple :
Code:
.postprofile .label{
  margin-right: 5px;
}

Pour ton second souci, je pense qu'il "suffit" d'ajouter un test au js Smile mais j'aurai besoin de voir un aperçu Smile il y a un endroit accessible aux invités pour que je puisse voir ?
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 9:47
Bonjour Miettes et merci pour le code

Ce forum est disponible aux invités par exemple : https://poly.forumactif.com/f5-bienvenue-sur-poly
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 9:52
Ok d'acc Smile Alors on va essayer un truc ^^

Tout en bas du js que tu as pour la modification du profil, on va ajouter ceci :
Code:
$('body')
    .on('click', '#topicPreview', function(){
      // Si on est dans un message
    if($(verifCibleMessage).length){
      // On parcourt chaque label
      $(cibleMessage).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour le remplacer par un icon
              txtLabelModif = labelFontAwesome(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
     
      });
    }
    });

juste avant
Code:
})();

Je te laisse tester ? Smile
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 10:00
Non cela ne fonctionne pas, voici le script en entier :
Code:
; (function(){

  // Version du forum ?
  // phpbb2, phpbb3, punbb, invision, modernbb, awesomebb
  var version = 'modernbb';

  // On définit les cibles en fonction de la version du forum
  var verifCibleMessage,
      cibleMessage,
      verifCibleProfil,
      cibleProfil,
      verifCibleEditionProfil,
      cibleEditionProfil;

  switch (version) {
    case 'phpbb3':
      verifCibleMessage = '.postprofile';
      cibleMessage = '.postprofile .label';
      verifCibleProfil = ' #profile-advanced-details';
      cibleProfil = '#profile-advanced-details #cp-main .middleline dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .panel .inner > fieldset > dl > dt';
      break;

    case 'punbb':
      verifCibleMessage = '.user-info';
      cibleMessage = '.user-info .label';
      verifCibleProfil = ' #profile-advanced-details';
      cibleProfil = '#profile-advanced-details .main-content .middleline dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .main-content > fieldset > dl > dt';
      break;

    case 'invision':
      verifCibleMessage = '.postprofile-details.postdetails';
      cibleMessage = '.postprofile-details.postdetails .label';
      verifCibleProfil = '#profile-advanced-details';
      cibleProfil = '#profile-advanced-details .box-content .middleline dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .box-content > fieldset > dl > dt';
      break;

    case 'modernbb':
      verifCibleMessage = '.postprofile';
      cibleMessage = '.postprofile .postprofile-info .label';
      verifCibleProfil = '#profile-tab-field-profil';
      cibleProfil = '#profile-tab-field-profil > dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .panel .inner > fieldset > dl > dt';
      break;
       
    case 'awesomebb':
      verifCibleMessage = '.post-body .post-aside';
      cibleMessage = '.post-body .post-aside .label';
      verifCibleProfil = '#profile-tab-field-profil';
      cibleProfil = '#profile-tab-field-profil > dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .block-content.profile-field > label > span';
      break;
 
    default:
      verifCibleMessage = '.postdetails.poster-profile';
      cibleMessage = '.postdetails.poster-profile .label';
      verifCibleProfil = '#profile-advanced-details';
      cibleProfil = '#profile-advanced-details > dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .forumline .row1.gen > span';
      break;
  }


  // On définit les différents tag et par quoi on remplace les labels
  var tagLabel = [{
      tag: 'birthdate',
      html: '<span class="fa fa-birthday-cake"> </span>',
      contenuProfil: 'Date de naissance'
    },
    {
      tag: 'age',
      html: '<span class="fa fa-child"> </span>',
      contenuProfil: 'Age'
    },
    {
      tag: 'inscription',
      html: '<span class="fa fa-user-plus"> </span>',
      contenuProfil: 'Inscription'
    },
    {
      tag: 'localisation',
      html: '<span class="fa fa-home"> </span>',
      contenuProfil: 'Localisation'
    },
    {
      tag: 'prénom',
      html: '<span class="fa fa-id-card-o"> </span>',
      contenuProfil: 'Prénom'
    }];

  // Fonction qui supprime les :
  function remplacerLabel( txtLabel ){
    var nvTxt = txtLabel.replace(/:/i, '');
    // On renvoie le texte sans les :
    return nvTxt;
  }

  // On change les label par des icones
  function labelFontAwesome( txtLabel ){
    var newLabel;

    // On parcourt le tableau de tag
    for( var i = 0 ; i < tagLabel.length ; i++){
      // Si on trouve un tag correspondant
      if(txtLabel.indexOf(tagLabel[i].tag) != -1){
        // On récupére le nouveau code html correspondant
        newLabel = tagLabel[i].html;
        // On envoie le nouveau contenu du label
        return newLabel;
      }
    }
  }


  // On supprime les tag
  function labelProfil( txtLabel ){
    var newLabel;

    // On parcourt le tableau de tag
    for( var i = 0 ; i < tagLabel.length ; i++){
      // Si on trouve un tag correspondant
      if(txtLabel.indexOf(tagLabel[i].tag) != -1){
        // On récupére le wording correspondant
        newLabel = tagLabel[i].contenuProfil;
        // On envoie le nouveau contenu du label
        return newLabel;
      }
    }
  }


  // Au chargement de la page
  $(window).ready( function(){

    // Si on est dans un message
    if($(verifCibleMessage).length){
      // On parcourt chaque label
      $(cibleMessage).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour le remplacer par un icon
              txtLabelModif = labelFontAwesome(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
     
      });
    }


    // Si on est sur une page "profil"
    if($(verifCibleProfil).length){
      // On parcourt chaque label
      $(cibleProfil).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour supprimer le tag
              txtLabelModif = labelProfil(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
     
      });
    }

    // Si on est sur une page "Edition profil"
    if($(verifCibleEditionProfil).length){
      // On parcourt chaque label
      $(cibleEditionProfil).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour supprimer le tag
              txtLabelModif = labelProfil(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
     
      });
    }

 

  });
$('body')
    .on('click', '#topicPreview', function(){
      // Si on est dans un message
    if($(verifCibleMessage).length){
      // On parcourt chaque label
      $(cibleMessage).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour le remplacer par un icon
              txtLabelModif = labelFontAwesome(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
   
      });
    }
    });
})();
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 10:42
On va essayer avec ce js :
Code:
; (function(){

  // Version du forum ?
  // phpbb2, phpbb3, punbb, invision, modernbb, awesomebb
  var version = 'modernbb';

  // On définit les cibles en fonction de la version du forum
  var verifCibleMessage,
      cibleMessage,
      verifCibleProfil,
      cibleProfil,
      verifCibleEditionProfil,
      cibleEditionProfil;

  switch (version) {
    case 'phpbb3':
      verifCibleMessage = '.postprofile';
      cibleMessage = '.postprofile .label';
      verifCibleProfil = ' #profile-advanced-details';
      cibleProfil = '#profile-advanced-details #cp-main .middleline dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .panel .inner > fieldset > dl > dt';
      break;

    case 'punbb':
      verifCibleMessage = '.user-info';
      cibleMessage = '.user-info .label';
      verifCibleProfil = ' #profile-advanced-details';
      cibleProfil = '#profile-advanced-details .main-content .middleline dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .main-content > fieldset > dl > dt';
      break;

    case 'invision':
      verifCibleMessage = '.postprofile-details.postdetails';
      cibleMessage = '.postprofile-details.postdetails .label';
      verifCibleProfil = '#profile-advanced-details';
      cibleProfil = '#profile-advanced-details .box-content .middleline dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .box-content > fieldset > dl > dt';
      break;

    case 'modernbb':
      verifCibleMessage = '.postprofile';
      cibleMessage = '.postprofile .postprofile-info .label';
      verifCibleProfil = '#profile-tab-field-profil';
      cibleProfil = '#profile-tab-field-profil > dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .panel .inner > fieldset > dl > dt';
      break;
     
    case 'awesomebb':
      verifCibleMessage = '.post-body .post-aside';
      cibleMessage = '.post-body .post-aside .label';
      verifCibleProfil = '#profile-tab-field-profil';
      cibleProfil = '#profile-tab-field-profil > dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .block-content.profile-field > label > span';
      break;
 
    default:
      verifCibleMessage = '.postdetails.poster-profile';
      cibleMessage = '.postdetails.poster-profile .label';
      verifCibleProfil = '#profile-advanced-details';
      cibleProfil = '#profile-advanced-details > dl > dt';
      verifCibleEditionProfil = 'form[action$=profile]';
      cibleEditionProfil = 'form[action$=profile] .forumline .row1.gen > span';
      break;
  }


  // On définit les différents tag et par quoi on remplace les labels
  var tagLabel = [{
      tag: 'birthdate',
      html: '<span class="fa fa-birthday-cake"> </span>',
      contenuProfil: 'Date de naissance'
    },
    {
      tag: 'age',
      html: '<span class="fa fa-child"> </span>',
      contenuProfil: 'Age'
    },
    {
      tag: 'inscription',
      html: '<span class="fa fa-user-plus"> </span>',
      contenuProfil: 'Inscription'
    },
    {
      tag: 'localisation',
      html: '<span class="fa fa-home"> </span>',
      contenuProfil: 'Localisation'
    },
    {
      tag: 'prénom',
      html: '<span class="fa fa-id-card-o"> </span>',
      contenuProfil: 'Prénom'
    }];

  // Fonction qui supprime les :
  function remplacerLabel( txtLabel ){
    var nvTxt = txtLabel.replace(/:/i, '');
    // On renvoie le texte sans les :
    return nvTxt;
  }

  // On change les label par des icones
  function labelFontAwesome( txtLabel ){
    var newLabel;

    // On parcourt le tableau de tag
    for( var i = 0 ; i < tagLabel.length ; i++){
      // Si on trouve un tag correspondant
      if(txtLabel.indexOf(tagLabel[i].tag) != -1){
        // On récupére le nouveau code html correspondant
        newLabel = tagLabel[i].html;
        // On envoie le nouveau contenu du label
        return newLabel;
      }
    }
  }


  // On supprime les tag
  function labelProfil( txtLabel ){
    var newLabel;

    // On parcourt le tableau de tag
    for( var i = 0 ; i < tagLabel.length ; i++){
      // Si on trouve un tag correspondant
      if(txtLabel.indexOf(tagLabel[i].tag) != -1){
        // On récupére le wording correspondant
        newLabel = tagLabel[i].contenuProfil;
        // On envoie le nouveau contenu du label
        return newLabel;
      }
    }
  }


  // Au chargement de la page
  $(window).ready( function(){

    // Si on est dans un message
    if($(verifCibleMessage).length){
      // On parcourt chaque label
      $(cibleMessage).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour le remplacer par un icon
              txtLabelModif = labelFontAwesome(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
   
      });
    }


    // Si on est sur une page "profil"
    if($(verifCibleProfil).length){
      // On parcourt chaque label
      $(cibleProfil).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour supprimer le tag
              txtLabelModif = labelProfil(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
   
      });
    }

    // Si on est sur une page "Edition profil"
    if($(verifCibleEditionProfil).length){
      // On parcourt chaque label
      $(cibleEditionProfil).each( function(){
        var $label = $(this),
            // On récupére le contenu "texte" du label
            txtLabel = $label.text(),
            txtLabelModif;

            // On vérifie si le label contient un tag
            if(txtLabel.indexOf('[lbl-') != -1){
              // Si c'est le cas, on change le html pour supprimer le tag
              txtLabelModif = labelProfil(txtLabel);
              // On remplace le code html du label par le nouveau
              $label.html(txtLabelModif);
            }else{
              // On exécute la fonction pour supprimer les :
              txtLabelModif = remplacerLabel(txtLabel);
              // On remplace le texte du label sans les :
              $label.text(txtLabelModif);
            }
   
      });
    }

 

  });
$('body')
    .on('click', '#topicPreview', function(){
      setTimeout( function(){
        // On parcourt chaque label
        $(cibleMessage).each( function(){
          var $label = $(this),
              // On récupére le contenu "texte" du label
              txtLabel = $label.text(),
              txtLabelModif;

              // On vérifie si le label contient un tag
              if(txtLabel.indexOf('[lbl-') != -1){
                // Si c'est le cas, on change le html pour le remplacer par un icon
                txtLabelModif = labelFontAwesome(txtLabel);
                // On remplace le code html du label par le nouveau
                $label.html(txtLabelModif);
              }else{
                // On exécute la fonction pour supprimer les :
                txtLabelModif = remplacerLabel(txtLabel);
                // On remplace le texte du label sans les :
                $label.text(txtLabelModif);
              }
   
        });
      }, 1000);
    });
})();

En gros j'ai ajouté un délai, le temps que ta popin se forme Smile
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 10:52
Et non ce nouveau script ne résout pas le problème, voici un aperçu

Afficher / Masquer :
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 10:58
Même si tu changes le chiffre ici :
Code:
}, 1000);

pour mettre plus de temps ça ne fonctionne pas ?
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mar 15 Oct 2019 - 11:02
Non, je viens d'essayer avec 5000, 10000 et 500 mais rien ne change
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Mer 16 Oct 2019 - 10:39
Re-coucou Smile

C'est bon, c'est corrigé =)

Du coup, j'ai du modifier les 2 js : celui pour la popin sur les sous-forums et celui pour les lbl-.

Les voici :
> pour la popin
Code:
$(function(){
  var isPunbb = '';
  if ($('.pun').length) var isPunbb = 'class="pun"';
  $('a.topictitle').after('&nbsp;<img id="topicPreview" src="https://i.servimg.com/u/f56/18/45/41/65/new_wi10.gif" title="Aperçu" alt="Preview" style="cursor:pointer;">');
  $('img#topicPreview').click(function() {
    $('body').append('<div id="preview-filter" style="position:fixed;left:0;right:0;top:0;bottom:0;background:url(https://i.servimg.com/u/f39/18/21/41/30/overla10.png);cursor:pointer;z-index:10;"></div><div id="topicPreview-container" '+isPunbb+' style="width:auto;top:20%;left:15%;right:15%;padding:4px;position:fixed;z-index:50;background:#EEE;border:1px solid #CCC;border-radius:5px;"><div id="topicPreviewing" style="max-height:400px;overflow-y:auto;"><center><span class="topicPreview-loading" style="font-weight:bold;font-size:18px;">Loading...</span></center></div></div>');
    $('#topicPreviewing').load($(this).siblings('a.topictitle').attr('href')+' .post:eq(0)');
    $('#preview-filter').click(function(){$('#preview-filter, #topicPreview-container').remove()});

    var modifLbl = setInterval( function(){
      if( $('#topicPreviewing .postbody').length){
        changeInMsg('.postprofile .postprofile-info .label');
        stopModifLbl();
      }
    }, 100);

    function stopModifLbl() {
        clearInterval(modifLbl);
    };

  });
});

> pour les lbl-
Code:
// Version du forum ?
// phpbb2, phpbb3, punbb, invision, modernbb, awesomebb
var versionPourLbl = 'modernbb';

// On définit les cibles en fonction de la version du forum
var verifCibleMessage,
    cibleMessage,
    verifCibleProfil,
    cibleProfil,
    verifCibleEditionProfil,
    cibleEditionProfil;

switch (versionPourLbl) {
  case 'phpbb3':
    verifCibleMessage = '.postprofile';
    cibleMessage = '.postprofile .label';
    verifCibleProfil = ' #profile-advanced-details';
    cibleProfil = '#profile-advanced-details #cp-main .middleline dl > dt';
    verifCibleEditionProfil = 'form[action$=profile]';
    cibleEditionProfil = 'form[action$=profile] .panel .inner > fieldset > dl > dt';
    break;

  case 'punbb':
    verifCibleMessage = '.user-info';
    cibleMessage = '.user-info .label';
    verifCibleProfil = ' #profile-advanced-details';
    cibleProfil = '#profile-advanced-details .main-content .middleline dl > dt';
    verifCibleEditionProfil = 'form[action$=profile]';
    cibleEditionProfil = 'form[action$=profile] .main-content > fieldset > dl > dt';
    break;

  case 'invision':
    verifCibleMessage = '.postprofile-details.postdetails';
    cibleMessage = '.postprofile-details.postdetails .label';
    verifCibleProfil = '#profile-advanced-details';
    cibleProfil = '#profile-advanced-details .box-content .middleline dl > dt';
    verifCibleEditionProfil = 'form[action$=profile]';
    cibleEditionProfil = 'form[action$=profile] .box-content > fieldset > dl > dt';
    break;

  case 'modernbb':
    verifCibleMessage = '.postprofile';
    cibleMessage = '.postprofile .postprofile-info .label';
    verifCibleProfil = '#profile-tab-field-profil';
    cibleProfil = '#profile-tab-field-profil > dl > dt';
    verifCibleEditionProfil = 'form[action$=profile]';
    cibleEditionProfil = 'form[action$=profile] .panel .inner > fieldset > dl > dt';
    break;
 
  case 'awesomebb':
    verifCibleMessage = '.post-body .post-aside';
    cibleMessage = '.post-body .post-aside .label';
    verifCibleProfil = '#profile-tab-field-profil';
    cibleProfil = '#profile-tab-field-profil > dl > dt';
    verifCibleEditionProfil = 'form[action$=profile]';
    cibleEditionProfil = 'form[action$=profile] .block-content.profile-field > label > span';
    break;

  default:
    verifCibleMessage = '.postdetails.poster-profile';
    cibleMessage = '.postdetails.poster-profile .label';
    verifCibleProfil = '#profile-advanced-details';
    cibleProfil = '#profile-advanced-details > dl > dt';
    verifCibleEditionProfil = 'form[action$=profile]';
    cibleEditionProfil = 'form[action$=profile] .forumline .row1.gen > span';
    break;
}


// On définit les différents tag et par quoi on remplace les labels
var tagLabel = [{
    tag: 'birthdate',
    html: '<span class="fa fa-birthday-cake"> </span>',
    contenuProfil: 'Date de naissance'
  },
  {
    tag: 'age',
    html: '<span class="fa fa-child"> </span>',
    contenuProfil: 'Age'
  },
  {
    tag: 'inscription',
    html: '<span class="fa fa-user-plus"> </span>',
    contenuProfil: 'Inscription'
  },
  {
    tag: 'localisation',
    html: '<span class="fa fa-home"> </span>',
    contenuProfil: 'Localisation'
  },
  {
    tag: 'prénom',
    html: '<span class="fa fa-id-card-o"> </span>',
    contenuProfil: 'Prénom'
  }];

// Fonction qui supprime les :
function remplacerLabel( txtLabel ){
  var nvTxt = txtLabel.replace(/:/i, '');
  // On renvoie le texte sans les :
  return nvTxt;
}

// On change les label par des icones
function labelFontAwesome( txtLabel ){
  var newLabel;

  // On parcourt le tableau de tag
  for( var i = 0 ; i < tagLabel.length ; i++){
    // Si on trouve un tag correspondant
    if(txtLabel.indexOf(tagLabel[i].tag) != -1){
      // On récupére le nouveau code html correspondant
      newLabel = tagLabel[i].html;
      // On envoie le nouveau contenu du label
      return newLabel;
    }
  }
}


// On supprime les tag
function labelProfil( txtLabel ){
  var newLabel;

  // On parcourt le tableau de tag
  for( var i = 0 ; i < tagLabel.length ; i++){
    // Si on trouve un tag correspondant
    if(txtLabel.indexOf(tagLabel[i].tag) != -1){
      // On récupére le wording correspondant
      newLabel = tagLabel[i].contenuProfil;
      // On envoie le nouveau contenu du label
      return newLabel;
    }
  }
}

function changeInMsg(cibleMessage){
  console.log($('cibleMessage'));
  // On parcourt chaque label
    $(cibleMessage).each( function(){
      var $label = $(this),
          // On récupére le contenu "texte" du label
          txtLabel = $label.text(),
          txtLabelModif;

          // On vérifie si le label contient un tag
          if(txtLabel.indexOf('[lbl-') != -1){
            // Si c'est le cas, on change le html pour le remplacer par un icon
            txtLabelModif = labelFontAwesome(txtLabel);
            // On remplace le code html du label par le nouveau
            $label.html(txtLabelModif);
          }else{
            // On exécute la fonction pour supprimer les :
            txtLabelModif = remplacerLabel(txtLabel);
            // On remplace le texte du label sans les :
            $label.text(txtLabelModif);
          }
 
    });
}

// Au chargement de la page
$(window).ready( function(){

  // Si on est dans un message
  if($(verifCibleMessage).length){
    changeInMsg(cibleMessage);
  }


  // Si on est sur une page "profil"
  if($(verifCibleProfil).length){
    // On parcourt chaque label
    $(cibleProfil).each( function(){
      var $label = $(this),
          // On récupére le contenu "texte" du label
          txtLabel = $label.text(),
          txtLabelModif;

          // On vérifie si le label contient un tag
          if(txtLabel.indexOf('[lbl-') != -1){
            // Si c'est le cas, on change le html pour supprimer le tag
            txtLabelModif = labelProfil(txtLabel);
            // On remplace le code html du label par le nouveau
            $label.html(txtLabelModif);
          }else{
            // On exécute la fonction pour supprimer les :
            txtLabelModif = remplacerLabel(txtLabel);
            // On remplace le texte du label sans les :
            $label.text(txtLabelModif);
          }
 
    });
  }

  // Si on est sur une page "Edition profil"
  if($(verifCibleEditionProfil).length){
    // On parcourt chaque label
    $(cibleEditionProfil).each( function(){
      var $label = $(this),
          // On récupére le contenu "texte" du label
          txtLabel = $label.text(),
          txtLabelModif;

          // On vérifie si le label contient un tag
          if(txtLabel.indexOf('[lbl-') != -1){
            // Si c'est le cas, on change le html pour supprimer le tag
            txtLabelModif = labelProfil(txtLabel);
            // On remplace le code html du label par le nouveau
            $label.html(txtLabelModif);
          }else{
            // On exécute la fonction pour supprimer les :
            txtLabelModif = remplacerLabel(txtLabel);
            // On remplace le texte du label sans les :
            $label.text(txtLabelModif);
          }
 
    });
  }



});


J'ai du "ouvrir" le javascript pour les lbl- pour qu'on puisse appeler les éléments dans la popin.
Dans la popin, j'ai ajouté une fonction quand on la crée Smile

J'espère que ça n'entrainera pas de bug ailleurs :/

Tiens moi au courant =)
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Sam 19 Oct 2019 - 9:50
Coucou Miettes, je regarde tout ceci dès que possible et te tiens au courant
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Sam 19 Oct 2019 - 11:24
Hello Smile

Pas de souci ^^
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Dim 20 Oct 2019 - 0:25
Je viens de modifier les scripts et tout semble ok, merci à toi
Pêpêche
Pêpêche
Mascotte
Messages : 4428

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Dim 20 Oct 2019 - 10:09
Hello Smile

Ah génial ^^ On peut considérer l'aide comme terminée du coup ?
CamilleHau
CamilleHau
Messages : 84
https://poly.forumactif.com

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Dim 20 Oct 2019 - 10:32
Oui merci
Contenu sponsorisé

[Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil" Empty Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Les coups de ♥ des Râleuses

Post-It des Râleuses