Membres connectés récemment
[TOUTES VERSIONS] Utiliser les variables utilisateur/forum
Page 2 sur 2 • Partagez
Page 2 sur 2 • 1, 2
Rappel du premier message :
fa7up_mod est un module disposant de quelques fonctions qui faisaient partie du système d'installation fa7up, il va être utilisé afin de pouvoir afficher des variables sur votre forum de façon simple quelque soit la version de votre forum.
Affichage -> Templates - Général -> overall_header
Ajoutez la ligne suivante :
Nous allons à présent utiliser la fonction getVars qui permet de récupérer les variables du forum et de créer les variables depuis _userdata, toujours dans votre panneau d'administration :
Modules -> Gestion des codes Javascript -> Créer un nouveau Javascript
Choisissez un titre, cochez Sur les sujets et mettez le contenu suivant :
Choisissez un titre, cochez Sur toutes les pages et mettez le contenu suivant :
Modules -> Gestion des pages HTML -> Creation en mode avancé (HTML)
Choisissez un titre
Voulez-vous utiliser le haut et le bas de page de votre forum ? Cochez Oui
Utiliser cette page en tant que page d'accueil ? Cochez Non
Mettez le contenu suivant :
Consultez votre page nouvellement créée pour voir la liste complète.
Pourquoi 2 syntaxes pour afficher les variables ?
En utilisant la syntaxe classique dans les messages {VARIABLE} vous vous assurez qu'une bonne partie des variables qui sont interprétées par le serveur le resteront, le souci étant que le serveur efface certaines variables en dehors des messages, afin d'éviter cela il suffit d'utiliser la syntaxe [VARIABLE] afin que le serveur ne les efface plus et que le script puisse les interpréter.
getVars est conçue pour limiter au maximum son impact sur le réseau, dans l'écrasante majorité des cas elle ne fera qu'une seule et unique requête puisque _userdata est quasi toujours disponible.
getVars n'utilise pas jQuery, de fait elle n'est pas compatible avec les anciens navigateurs tels que Internet Explorer, ça permet de facilement l'utiliser sur une page qui n'utiliserait pas le haut et le bas du forum.
getVars crée quelques variables supplémentaires telles que:
AVATAR_URL qui contient l'url de votre avatar.
USER_LEVEL_NAME qui contient votre niveau d’accréditation (ANONYMOUS / MEMBER / MODERATOR / ADMINISTRATOR).
Description
fa7up_mod est un module disposant de quelques fonctions qui faisaient partie du système d'installation fa7up, il va être utilisé afin de pouvoir afficher des variables sur votre forum de façon simple quelque soit la version de votre forum.
Installation
Il faut déjà installer le module en question, pour cela allez dans votre panneau d'administration puis :Affichage -> Templates - Général -> overall_header
Ajoutez la ligne suivante :
- Code:
<script type="text/javascript" src="https://dl.dropboxusercontent.com/s/guvh85qnj3vyoi5/setupvariable.js"></script>
- Code:
</head>
Nous allons à présent utiliser la fonction getVars qui permet de récupérer les variables du forum et de créer les variables depuis _userdata, toujours dans votre panneau d'administration :
Modules -> Gestion des codes Javascript -> Créer un nouveau Javascript
Si vous ne souhaitez pas pouvoir utiliser les variables en dehors des messages
Choisissez un titre, cochez Sur les sujets et mettez le contenu suivant :
- Code:
$(function(){
fa7up_mod.getVars().then(x_vars=>{
var keys=Object.keys(x_vars);
var regPattern=keys.map(function(e){return new RegExp("[\\{\\[]("+e+")[\\]\\}]","g");});
var recRep=function(el){
let a,i=0,liste=el.childNodes,n=liste.length;
if(el.nodeType===Node.ELEMENT_NODE&&!el.classList.contains("codebox")&&n){
for(;i<n;i++){
recRep(liste.item(i));
}
}
if(el.nodeType===Node.TEXT_NODE)for(let idx in regPattern){
if(!(a=regPattern[idx].exec(el.nodeValue)))continue;
let r=document.createRange();
r.setStart(el,a["index"]);
r.setEnd(el,a[0].length+a["index"]);
r.deleteContents();
let div=document.createElement("div");
div.innerHTML=x_vars[a[1]];
let div_c=div.childNodes,itm;
while((itm=div_c.item(0)))r.insertNode(itm);
/*Il est probable qu'un élément ait été injecté, il faut reboucler*/
recRep(el.parentNode);
}
};
$(".postbody,.post-body").each(function(i,e){recRep(e)});
},error=>{console.error(error)});
});
Si vous souhaitez pouvoir utiliser les variables sur tout le forum
Choisissez un titre, cochez Sur toutes les pages et mettez le contenu suivant :
- Code:
$(function(){
fa7up_mod.getVars().then(x_vars=>{
var keys=Object.keys(x_vars);
var regPattern=keys.map(function(e){return new RegExp("[\\{\\[]("+e+")[\\]\\}]","g");});
var recRep=function(el){
let a,i=0,liste=el.childNodes,n=liste.length;
if(el.nodeType===Node.ELEMENT_NODE&&!el.classList.contains("codebox")&&n){
for(;i<n;i++){
recRep(liste.item(i));
}
}
if(el.nodeType===Node.TEXT_NODE)for(let idx in regPattern){
if(!(a=regPattern[idx].exec(el.nodeValue)))continue;
let r=document.createRange();
r.setStart(el,a["index"]);
r.setEnd(el,a[0].length+a["index"]);
r.deleteContents();
let div=document.createElement("div");
div.innerHTML=x_vars[a[1]];
let div_c=div.childNodes,itm;
while((itm=div_c.item(0)))r.insertNode(itm);
/*Il est probable qu'un élément ait été injecté, il faut reboucler*/
recRep(el.parentNode);
}
};
recRep(document.body);
},error=>{console.error(error)});
});
Visualiser les variables disponibles
Pour visualiser les variables disponibles, encore et toujours dans votre panneau d'administration :Modules -> Gestion des pages HTML -> Creation en mode avancé (HTML)
Choisissez un titre
Voulez-vous utiliser le haut et le bas de page de votre forum ? Cochez Oui
Utiliser cette page en tant que page d'accueil ? Cochez Non
Mettez le contenu suivant :
- Code:
<style type="text/css">
#fa7up_mod_disponibilite_vars tr:nth-child(odd){
background:#0af;
}
#fa7up_mod_disponibilite_vars td{
padding:.5em 1em;
}
#fa7up_mod_disponibilite_vars td:first-child{
font-weight:bold;
}
</style>
<table id="fa7up_mod_disponibilite_vars"></table>
<script type="text/javascript">
fa7up_mod.getVars().then(function(x_vars){
var keys=Object.keys(x_vars).sort();
/**/
var frag=document.createDocumentFragment();
var table=document.getElementById("fa7up_mod_disponibilite_vars");
for(var i=0;i<keys.length;i++){
var tr=document.createElement("tr");
var td_1=document.createElement("td");
var td_2=document.createElement("td");
td_1.textContent=keys[i];
td_2.textContent="{"+keys[i]+"}";
tr.appendChild(td_1);
tr.appendChild(td_2);
table.appendChild(tr);
}
/**/
var regPattern=keys.map(function(e){return new RegExp("\\{("+e+")\\}","g");});
for(var idx in regPattern){
document.body.innerHTML=document.body.innerHTML.replace(regPattern[idx],function(m,m1){return x_vars[m1];});
}
});
</script>
Consultez votre page nouvellement créée pour voir la liste complète.
Utilisation des variables
Les variables sont sur la colonne de gauche, il suffit d'entourer leur nom entre [ et ] pour leur affichage sur votre forum, et entre { et } dans les messages. Essayez de poster un nouveau message avec pour contenu {AVATAR} et vous devriez voir votre avatar s'afficher.Détails pouvant être intéressants
Pourquoi 2 syntaxes pour afficher les variables ?
En utilisant la syntaxe classique dans les messages {VARIABLE} vous vous assurez qu'une bonne partie des variables qui sont interprétées par le serveur le resteront, le souci étant que le serveur efface certaines variables en dehors des messages, afin d'éviter cela il suffit d'utiliser la syntaxe [VARIABLE] afin que le serveur ne les efface plus et que le script puisse les interpréter.
getVars est conçue pour limiter au maximum son impact sur le réseau, dans l'écrasante majorité des cas elle ne fera qu'une seule et unique requête puisque _userdata est quasi toujours disponible.
getVars n'utilise pas jQuery, de fait elle n'est pas compatible avec les anciens navigateurs tels que Internet Explorer, ça permet de facilement l'utiliser sur une page qui n'utiliserait pas le haut et le bas du forum.
getVars crée quelques variables supplémentaires telles que:
AVATAR_URL qui contient l'url de votre avatar.
USER_LEVEL_NAME qui contient votre niveau d’accréditation (ANONYMOUS / MEMBER / MODERATOR / ADMINISTRATOR).
Milouze14 aime ce message
ATTENTION, l'astuce est actuellement indisponible les ami(e)s
@Morane ,
@ThunderTB ,
@Jean22 ,
@photoclic ,
@Quad Daniel ,
@Roza
@fascicularia ,
@tenrev
Le script de mon ami Arnaud n'est plus entre guillemet hébergé et
génère de gros bugs sur les fofos.
Il suffit de supprimer tout ce que se trouve sur votre fofo concernant cette astuce et hop tout revient à la normale.
Désolé pour la gêne occasionnée .
Roza aime ce message
Bonjour à tous !
Je confirme !
Grand bazar, hier sur mon forum....
La suppression des codes concernant cette astuce, entraîne, le retour à "la normale" !
OUF !
Phil !
Bonne journée.
Milouze14 a écrit:Le script de mon ami Arnaud n'est plus entre guillemet hébergé et
génère de gros bugs sur les fofos.
Il suffit de supprimer tout ce que se trouve sur votre fofo concernant cette astuce et hop tout revient à la normale.
Je confirme !
Grand bazar, hier sur mon forum....
La suppression des codes concernant cette astuce, entraîne, le retour à "la normale" !
OUF !
Phil !
Bonne journée.
Milouze14 aime ce message
@Morane ,
@ThunderTB ,
@Jean22 ,
@photoclic ,
@Quad Daniel ,
@Roza ,
@tenrev
Le script est de nouveau disponible est désormais hébergé sur mon hébergeur Dropbox:
https://www.milouze14.com/t32218-toutes-versions-utiliser-les-variables-utilisateur-forum#612970
@ThunderTB ,
@Jean22 ,
@photoclic ,
@Quad Daniel ,
@Roza ,
@tenrev
Le script est de nouveau disponible est désormais hébergé sur mon hébergeur Dropbox:
https://www.milouze14.com/t32218-toutes-versions-utiliser-les-variables-utilisateur-forum#612970
photoclic et Avalanche aiment ce message
Page 2 sur 2 • 1, 2
Sujets similaires
» [TOUTES VERSIONS] Afficher le logo de votre forum dans la toolbar
» [TOUTES VERSIONS] Afficher une barre des tâches façon Windows 10 sur votre forum
» [TOUTES VERSIONS] Mettre Youtube en plein écran sans logiciel extérieur tous forum
» [TOUTES VERSIONS] Toutes versions Bouton générateur d'iframes
» [TOUTES VERSIONS] Redirection immédiate personnalisée
» [TOUTES VERSIONS] Afficher une barre des tâches façon Windows 10 sur votre forum
» [TOUTES VERSIONS] Mettre Youtube en plein écran sans logiciel extérieur tous forum
» [TOUTES VERSIONS] Toutes versions Bouton générateur d'iframes
» [TOUTES VERSIONS] Redirection immédiate personnalisée
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum