Ecrogal Dans quel état j'erre ?
Age : 31
Date d'inscription : 14/12/2008
Nombre de messages : 486
Localisation : Créteil
Groupe : Admins
|
Sujet: [Tuto] Activer la balise {USERNAME} sur Xooit Lun 29 Déc - 10:20 |
|
|
Activer la balise {USERNAME} sur un forum Xooit.com
Informations concernant le tutoriel |
---|
Auteur : | Ecrogal (inspiré très librement d'un tutoriel d'Arcanis) |
Description : | Ce tutoriel vous permettra d'activer la balise {USERNAME} sur un forum Xooit.com, dans les messages et les signatures. |
Exemple : | Allez donc voir sur ce forum. |
Défaut(s) : | On utilise du Javascript, donc c'est susceptible de ralentir vos pages (mais ça ne les ralentira pas beaucoup, au pire pensez à diminuer le nombre de messages par page). |
Difficulté : | - Installation : novice
- Compréhension : initié
|
Templates à modifier : | - overall_header.tpl
- viewtopic_body.tpl
|
Fonctionne sur : | - Forumactif : oui (peut-être utile pour activer la balise dans la citation par exemple) ;
- Xooit.com : oui
|
Notes : | Comme précisé plus haut, vous pouvez vous inspirer de ce tutoriel pour activer la balise dans la citation (Forumactif) |
________________________ [erreur]Avant toute modification, pensez à sauvegarder le contenu de vos templates (Ctrl + V dans un éditeur de texte classique). Une bonne alternative est également de faire les modifications dans le thème de test. Tux-Pub ne pourra être tenu de quelconques dégradations de votre forum suite à l'utilisation de ces tutoriels.[/erreur]
Commencez par ouvrir le template overall_header.tpl
> Panneau d'administration > Thème > Modifier les templates > overall_header.tpl
Juste avant , ajoutez :
- Code:
-
<script type="text/javascript" > var username = "{L_LOGIN_LOGOUT}"; var username = username.match(/\[ (.*?) \]/); var username = username[0].replace(/\[ (.*?) \]/, "$1"); </script> - Spoiler:
Explications :
On récupère la variable {L_LOGIN_LOGOUT} qui contient lorsque le membre est connecté «Déconnexion [ Pseudo ]».
On ne considère à la deuxième ligne que la partie entre crochets (qui n'existe pas lorsque le membre est un invité, puisque la variable est «Connexion») puis, à la troisième ligne, on récupère le pseudo : c'est aussi simple que ça. Enregistrez. Ensuite, ouvrez le template viewtopic_body.tpl. Cherchez :
- Code:
-
<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td> et remplacez le par le code suivant :
- Code:
-
<td colspan="2"><span class="postbody" id="{postrow.U_MINI_POST}">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td> <!-- Autorisation de la balise {USERNAME}, script par Ecrogal (http://tux-pub.superforum.fr) --> <script language="javascript" type="text/javascript"> var message_transforme = document.getElementById("{postrow.U_MINI_POST}").innerHTML;
for(i=0;i<=message_transforme.length;i++){ if(username!=null && typeof(username) != "undefined" && username != '') {var message_transforme = message_transforme.replace(/\{USERNAME\}/,username);} else {var message_transforme = message_transforme.replace(/\{USERNAME\}/,"Invité");} } document.getElementById("{p[u][/u]ostrow.U_MINI_POST}").innerHTML = message_transforme; </script> <!-- Fin du script --> - Spoiler:
Explications :Tout d'abord, on ajoute au span un id qui doit être unique ! On aurait pu choisir par exemple la date, mais j'ai préféré choisir l'URL du message (qui est donc unique à chaque message, et qui renverra pXX.htm). À noter que sur Forumactif, cette variable est {postrow.displayed.U_POST_ID}. [attention]Si vous ne choisissez pas un id unique, les modifications n'apparaîtront que dans le premier message affiché ![/attention] Ensuite, on récupère le innerHTML (ie le code HTML contenu dans le span). Puis, grâce à une boucle qui permet de passer au peigne fin l'intégralité du message, on fait les remplacements en distinguant deux cas : - quand l'utilisateur est connecté (la variable username existe) : on remplace {USERNAME} par cette variable ;
- quand l'utilisateur est un invité (la variable username n'existe pas) : on remplace {USERNAME} par «Invité».
Enfin, on remplace le innerHTML par la variable message_transforme. Enregistrez et fermez, c'est terminé ! ________________________ |
|