[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 :
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
Existe-t-il un moyen pour visualiser les icônes font awesome avec cette astuce ?
Merci beaucoup
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êcheMascotte
- Messages : 4428
Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"
Mar 15 Oct 2019 - 9:34
Coucou
Pour l'espace, ça sera de la CSS, par exmeple :
Pour ton second souci, je pense qu'il "suffit" d'ajouter un test au js mais j'aurai besoin de voir un aperçu il y a un endroit accessible aux invités pour que je puisse voir ?
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 mais j'aurai besoin de voir un aperçu il y a un endroit accessible aux invités pour que je puisse voir ?
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
Ce forum est disponible aux invités par exemple : https://poly.forumactif.com/f5-bienvenue-sur-poly
- PêpêcheMascotte
- Messages : 4428
Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"
Mar 15 Oct 2019 - 9:52
Ok d'acc Alors on va essayer un truc ^^
Tout en bas du js que tu as pour la modification du profil, on va ajouter ceci :
juste avant
Je te laisse tester ?
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 ?
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êcheMascotte
- Messages : 4428
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 :
En gros j'ai ajouté un délai, le temps que ta popin se forme
- 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
Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"
Mar 15 Oct 2019 - 10:52
- PêpêcheMascotte
- Messages : 4428
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 :
pour mettre plus de temps ça ne fonctionne pas ?
- Code:
}, 1000);
pour mettre plus de temps ça ne fonctionne pas ?
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êcheMascotte
- Messages : 4428
Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"
Mer 16 Oct 2019 - 10:39
Re-coucou
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
> pour les lbl-
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
J'espère que ça n'entrainera pas de bug ailleurs :/
Tiens moi au courant =)
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(' <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
J'espère que ça n'entrainera pas de bug ailleurs :/
Tiens moi au courant =)
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êcheMascotte
- Messages : 4428
Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"
Sam 19 Oct 2019 - 11:24
Hello
Pas de souci ^^
Pas de souci ^^
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êcheMascotte
- Messages : 4428
Re: [Aide Codage] Petites questions quant à l'astuce "Modifier l'affichage des champs de profil"
Dim 20 Oct 2019 - 10:09
Hello
Ah génial ^^ On peut considérer l'aide comme terminée du coup ?
Ah génial ^^ On peut considérer l'aide comme terminée du coup ?
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é
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|