Idea Les Râleuses sont absentes.. Idea
Le forum est en vacances mais toutes nos ressources restent disponibles. (En savoir +)
-40%
Le deal à ne pas rater :
– 40% sur la Table basse rectangle TIME – couleur Chêne
59.99 € 99.99 €
Voir le deal

Aller en bas
Mäven
Mäven
Râleuse (Admin)
Informations : Absente / peu présente le soir à partir de 18h30
----
Idea Viens papoter avec nous sur le discord

Messages : 4323
https://tambouille-raleuses.forumactif.com/

Utiliser les variables FA {USER....}, {FORUM....} partout sur le forum. Empty Utiliser les variables FA {USER....}, {FORUM....} partout sur le forum.

le Mer 8 Avr 2020 - 18:05

Utiliser les variables FA {USER....}, {FORUM....} partout sur le forum.


Hello !

Nous étions beaucoup à nous servir de ce tutoriel proposé par Shadow pour utiliser les variables de forumactif dans les templates. SAUF que, bien que ça fonctionne toujours sur les pages HTML : ça n'est plus le cas dans les templates.

Nous avons donc remis le JS à jour et donc on vous re-partage ce tutoriel.

A quoi ça sert ?

Alors, très rapidement, ce tutoriel va servir à utiliser toutes les variables qu'on peut déjà utiliser dans nos messages, mais partout ailleurs (pages HTML, templates, etc...). Pour retrouver ces variables : clique ici

Mise en place

Alors, tout d'abord on va créer un javascript qu'on va appliquer à toutes les pages. Je le met à la suite, il s'agit du même script que Shadow avait partagé, mais en "corrigé".

Code:
// Au chargement de la page
(function(){
    // On déclare une variable b qui va récupérer le contenu de la page contenant toutes les variables et leurs contenu
    if (window.ActiveXObject) var b = new ActiveXObject("Microsoft.XMLHTTP");
    else window.XMLHttpRequest && (b = new XMLHttpRequest);
    null != b && (b.onreadystatechange = function() {
        if (4 == b.readyState && "undefined" === typeof var_fa_is_done) {
            var_fa_is_done = 1;
            // On déclare une variable d qui va nous servir de compteur
            // On déclare une variable g qui est un tableau contenant les variables FA
            var d, g = "FORUMURL FORUMURLINK FORUMNAME FORUMNAMELINK FORUMDESC FORUMBIRTHDAY FORUMAGE FORUMCOUNTFORUM FORUMCOUNTOPIC FORUMCOUNTPOST FORUMCOUNTUSER FORUMONLINEUSER FORUMONLINEDATE FORUMLASTUSER FORUMLASTUSERLINK USERNAME USERLINK USERBIRTHDAY USERAGE USERREGDATE USERLASTVISIT USERCOUNTPOST NOW NOWWITHTIME".split(" ");
            // On parcourt l'intégralité de notre tableau de variables FA
            for (d = 0; d < g.length; d++) {
               // On déclare une variable h qui sera chaque variable chacune leur tour.
               // On déclare une variable e qui va remplacer le texte précédent par la valeur de la variable qu'il va aller chercher dans la page qui regroupe toutes les valeurs
                var h = g[d],
                    e = b.responseText.replace(RegExp('^[\\s\\S]+<li style="margin-bottom:5px;direction:ltr;text-align:left;"><strong>{' + h + "}</strong> : (.*?)&nbsp;<span style='direction:ltr'>(.*?)</span><br /></li>[\\s\\S]+$"), "$1");
                // si le texte récupéré dans la variable b est différent de celui qu'on vient de "créer"
               if (b.responseText != e) {
                  // Alors pour toutes les balises de notre page actuelle
                  for (var j = document.getElementsByTagName("*"), c = [], a = -1; ++a < j.length;){
                    // On crée une variable k qui va prendre toutes les balises une par une
                    // et deux variables l et f
                    var k = j[a], l, f;
                    // si la balise en cours d'étude a une classe
                    if(k.getAttribute("class")){
                      // Alors on récupère chaque classe dans un tableau
                      l=k.getAttribute("class").split(" ");
                       // pour toutes les classes récupérées
                        for ( f = 0; f < l.length; f++)
                          // Si la classe correspond à une des variables FA
                            if (l[f] == h) {
                               // Alors on envoit la valeur correspondant à la class
                                c.push(k);
                                break
                            }
                                  }
                  }
                    //pour toutes les valeur de c (donc des variables trouvée) si on est dans un INPUT ou dans un TEXTAREA alors place le contenu dedans
                    for (a = -1; ++a != c.length;) "INPUT" == c[a].tagName || "TEXTAREA" == c[a].tagName ? c[a].value += e : c[a].innerHTML += e
                      
                }
            }
        }
    }, b.open("GET", "/popup_help.forum?l=miscvars", !0), b.send(null))
})();

A ce stade, tu pourras utiliser le tout dans les templates. Pour l'utiliser dans une page HTML il faut importer le script avec ton URL de javascript :
Code:
<script type="text/javascript" src="https://maven.forumactif.org/35657.js"></script>

Exclamation Si tu modifie ton javascript, cette URL se modifiera, il faut la mettre à jour Wink

Comment l'utiliser

Pour l'utilisation, c'est très simple, tu vas voir.
Il te suffit de mettre, en tant que classe dans une balise, le nom de la variable voulue. Par exemple :
Code:
Tu es sur le compte : <span class="USERNAME"></span>
affichera le pseudo du membre connecté : Tu es sur le compte :

Tu peux le mettre dans n'importe quelle balise : strong, span, div, ... tout ce que tu veux.
Tu peux aussi mettre du texte dans ta balise, auquel cas la valeur de ta variable se collera à la fin de ta phrase :
Code:
<span class="USERNAME"> Tu es sur le compte  : </span>
donnera :
Tu es sur le compte  :

Tu peux aussi mettre plusieurs noms de variable à la suite dans la classe, séparée par un espace. Les valeurs se mettront les une à la suite des autres par contre.
Code:
<span class="FORUMURLINK FORUMNAME"></span>
donnera :


Tu trouveras l'ensemble des variable disponible sur la page : . Et plusieurs exemples d'utilisation sur cette page HTML : https://maven.forumactif.org/h33-test-variable

dont le code est :
Code:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <title>Test variables</title>
  <script type="text/javascript" src="https://maven.forumactif.org/35657.js"></script>
</head>
<body>
  <p>
      Bonjour <span class="USERNAME"></span>, tu t'es inscrit le <span class="USERREGDATE"></span> et tu as <span class="USERCOUNTPOST"></span> message(s) o/.<br/><br/>
 
     Voilà toutes les variables que tu peux utiliser :
    <br /><br />
    USERNAME : <span class="USERNAME"></span>
    <br />
    USERREGDATE : <span class="USERREGDATE"></span>
    <br />
    USERCOUNTPOST : <span class="USERCOUNTPOST"></span>
    <br />
    FORUMURL : <span class="FORUMURL"></span>
    <br />
    FORUMURLINK : <span class="FORUMURLINK"></span>
    <br />
    FORUMNAME : <span class="FORUMNAME"></span>
    <br />
    FORUMNAMELINK : <span class="FORUMNAMELINK"></span>
    <br />
    FORUMDESC : <span class="FORUMDESC"></span>
    <br />
    FORUMBIRTHDAY : <span class="FORUMBIRTHDAY"></span>
    <br />
    FORUMAGE : <span class="FORUMAGE"></span>
    <br />
    FORUMCOUNTFORUM : <span class="FORUMCOUNTFORUM"></span>
    <br />
    FORUMCOUNTOPIC : <span class="FORUMCOUNTOPIC"></span>
    <br />
    FORUMCOUNTPOST : <span class="FORUMCOUNTPOST"></span>
    <br />
    FORUMCOUNTUSER : <span class="FORUMCOUNTUSER"></span>
    <br />
    FORUMONLINEUSER : <span class="FORUMONLINEUSER"></span>
    <br />
    FORUMONLINEDATE : <span class="FORUMONLINEDATE"></span>
    <br />
    FORUMLASTUSER : <span class="FORUMLASTUSER"></span>
    <br />
    FORUMLASTUSERLINK : <span class="FORUMLASTUSERLINK"></span>
    <br />
    USERNAME : <span class="USERNAME"></span>
    <br />
    USERLINK : <span class="USERLINK"></span>
    <br />
    USERBIRTHDAY : <span class="USERBIRTHDAY"></span>
    <br />
    USERAGE : <span class="USERAGE"></span>
    <br />
    USERREGDATE : <span class="USERREGDATE"></span>
    <br />
    USERLASTVISIT : <span class="USERLASTVISIT"></span>
    <br />
    USERCOUNTPOST : <span class="USERCOUNTPOST"></span>
 <br />
 
 
      On peut également mettre du texte dans la balise, les variables s'ajouteront à la fin, <span class="FORUMCOUNTPOST">le nombre de message est de : </span>.
 
 <br />
 
      Voici maintenant un exemple de liste :
      <ul>
        <li class="FORUMAGE">Le forum compte ce nombre de journée : </li>
        <li class="FORUMCOUNTFORUM">Il y a ce nombre de forum et/ou sous-forum : </li>
        <li class="FORUMCOUNTOPIC">Il y a ce nombre de sujets : </li>
      </ul>
 
      Et pour bien finir, un exemple avec un champ texte qui prend comme valeur le pseudo de l'invité : <input type="text" class="USERNAME" />
  </p>
</body>
</html>

Et voilà ! Smile




Si tu as des questions, n'hésite pas à les poser ou à nous contacter !



_________________
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum



Post-It des Râleuses