Script faisant apparaître liste des membres (+ connectés)

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Script faisant apparaître liste des membres (+ connectés)

Message par foxies Sam 23 Mai 2020 - 15:01

Détails techniques

Version du forum : ModernBB
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Moi uniquement
Lien du forum : (lien masqué, vous devez poster pour le voir)

Description du problème

Bonjour !

J'aurais besoin d'aide pour finaliser un script que j'ai mis en place sur mon forum s'il vous plaît Smile Celui-ci permet de faire apparaître la liste des membres n'importe où (en l'occurrence, je l'ai placé dans mon template overall_header).

Voici le code en question, qui fonctionne très bien :

Code:
<script>
            $.get('/memberlist', function(data) {
                var ViewMl = $('.memberlist-wrapper', data).html();
                $('#memberlist').html(ViewMl);
            });
</script>
 <div id="memberlist"></div>

Ce que j'aimerais réussi à faire à présent, c'est récupérer des données de la page /viewonline afin de colorer les pseudos des membres effectivement en ligne. Pour ceci, je ramène à ce topic que j'avais ouvert il y a quelques temps et où j'avais eu des réponses très convaincantes.

J'ai essayé de réutiliser le script ci-dessous, afin de cibler les liens des membres connectés et ainsi pouvoir mettre en forme leur pseudo. En gros, si je comprends bien, on récupère les liens des membres connectés - js-member-link - sur la page /viewonline et quand ils apparaissent dans la liste de tous les membres du forum, on rajoute une class à la div .js-member-block la plus proche. Malheureusement, ça ne marche pas chez moi et je n'arrive pas à comprendre pourquoi :/

Code:
<script>
            $.get('/viewonline', function(data) {
                var ViewQeel = $('.forumbg', data).html();
                $('#Qeel').html(ViewQeel);
            });
        </script>

        <script>
            $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
        </script>

Voici mon template memberlist_body si besoin :

Code:
<div class="memberlist-wrapper">
  <!-- BEGIN memberrow -->
 <div class="member js-member-block">
   <a href="{memberrow.U_VIEWPROFILE}" class="js-member-link">{memberrow.USERNAME}</a>
 </div>
<!-- END memberrow -->
  </div>

Template overall_header :

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" id="min-width" lang="{L_LANG_HTML}"
  xml:lang="{L_LANG_HTML}" {NAMESPACE_FB_LIKE} {NAMESPACE_FB} {NAMESPACE_BBCODE}>
<head>
 <title>{SITENAME_TITLE}{PAGE_TITLE}</title>
 <meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}"/>
 <meta http-equiv="content-script-type" content="text/javascript"/>
 <meta http-equiv="content-style-type" content="text/css"/>
 <!-- BEGIN switch_compat_meta -->
 <meta http-equiv="X-UA-Compatible" content="IE={switch_compat_meta.VERSION}"/>
 <!-- END switch_compat_meta -->
 <!-- BEGIN switch_canonical_url -->
 <link rel="canonical" href="{switch_canonical_url.CANONICAL_URL}"/>
 <!-- END switch_canonical_url -->
 {META_FAVICO}
 {META}
 {META_FB_LIKE}
 <meta name="title" content="{SITENAME_TITLE}{PAGE_TITLE}"/>
 {T_HEAD_STYLESHEET}
 {CSS}
 <link rel="search" type="application/opensearchdescription+xml" href="/improvedsearch.xml" title="{SITENAME}"/>
 <link rel="search" type="application/opensearchdescription+xml"
  href="{URL_BOARD_DIRECTORY}/search/improvedsearch.xml" title="{SEARCH_FORUMS}"/>
 <script src="{JQUERY_PATH}" type="text/javascript"></script>
 <!-- BEGIN switch_recent_jquery -->
 <script src="{JS_DIR}jquery1.9/jquery-migrate-1.4.1.js" type="text/javascript"></script>
 <script src="{JQUERY_DIR}browser/v1.0/jquery.browser.min.js" type="text/javascript"></script>
 <script src="{JQUERY_DIR}support/jquery.support.js" type="text/javascript"></script>
 <!-- END switch_recent_jquery -->
 <script src="{JS_DIR}{L_LANG}.js" type="text/javascript"></script>
 {RICH_SNIPPET_GOOGLE}

 <!-- BEGIN switch_fb_login -->
 <script src="https://connect.facebook.net/{switch_fb_login.FB_LOCAL}/all.js" type="text/javascript"></script>
 <script src="{switch_fb_login.JS_FB_LOGIN}" type="text/javascript"></script>
 <!-- END switch_fb_login -->

 <!-- BEGIN switch_ticker -->
 <link type="text/css" rel="stylesheet" href="{JQUERY_DIR}ticker/ticker.css"/>
 <script src="{JQUERY_DIR}ticker/ticker.js" type="text/javascript"></script>
 <!-- END switch_ticker -->

 <!-- BEGIN switch_ticker_new -->
 <script src="{JQUERY_DIR}jcarousel/jquery.jcarousel.js" type="text/javascript"></script>
 <script type="text/javascript">
 //<![CDATA[
 /* Definir le sens de direction en fonction du panneau admin */
 var tickerDirParam = "{switch_ticker.DIRECTION}";
 var slid_vert = false;
 var auto_dir = 'next';
 var h_perso = parseInt({switch_ticker.HEIGHT});

 switch (tickerDirParam) {
 case 'top' :
 slid_vert = true;
 break;

 case 'left':
 break;

 case 'bottom':
 slid_vert = true;
 auto_dir = 'prev';
 break;

 case 'right':
 auto_dir = 'prev';
 break;

 default:
 slid_vert = true;
 }

 $(document).ready(function () {

 $('#fa_ticker_content').css('display', 'block');

 var width_max = $('ul#fa_ticker_content').width();
 var width_item = Math.floor(width_max / {switch_ticker.SIZE});

 if (width_max > 0) {
 $('ul#fa_ticker_content li').css('float', 'left').css('list-style', 'none').width(width_item).find('img').each(function () {
 if ($(this).width() > width_item) {
 var ratio = $(this).width() / width_item;
 var new_height = Math.round($(this).height() / ratio);
 $(this).height(new_height).width(width_item);
 }
 });

 if (slid_vert) {
 var height_max = h_perso;

 $('ul#fa_ticker_content li').each(function () {
 if ($(this).height() > height_max) {
 height_max = $(this).height();
 }
 });

 $('ul#fa_ticker_content').width(width_item).height(height_max).css('marginLeft', 'auto').css('marginRight', 'auto');
 $('ul#fa_ticker_content li').height(height_max);
 }


 $('#fa_ticker_content').jcarousel({
 vertical: slid_vert,
 wrap: 'circular',
 auto: {switch_ticker.STOP_TIME},
 auto_direction: auto_dir,
 scroll: 1,
 size: {switch_ticker.SIZE},
 height_max: height_max,
 animation: {switch_ticker.SPEED}
 });
 } else {
 $('ul#fa_ticker_content li:not(:first)').css('display', 'none');
 $('ul#fa_ticker_content li:first').css('list-style', 'none').css('text-align', 'center');
 }
 });
 //]]>
 </script>
 <!-- END switch_ticker_new -->

 <script type="text/javascript">//<![CDATA[
 $(document).ready(function () {
 <!-- BEGIN switch_enable_pm_popup -->
 pm = window.open('{U_PRIVATEMSGS_POPUP}', '_faprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
 if (pm != null) {
 pm.focus();
 }
 <!-- END switch_enable_pm_popup -->
 <!-- BEGIN switch_report_popup -->
 report = window.open('{switch_report_popup.U_REPORT_POPUP}', '_phpbbreport', 'HEIGHT={switch_report_popup.S_HEIGHT},resizable=yes,scrollbars=no,WIDTH={switch_report_popup.S_WIDTH}');
 if (report != null) {
 report.focus();
 }
 <!-- END switch_report_popup -->
 <!-- BEGIN switch_ticker -->
 $(document).ready(function () {
 Ticker.start({
 height: {switch_ticker.HEIGHT},
 spacing: {switch_ticker.SPACING},
 speed: {switch_ticker.SPEED},
 direction: '{switch_ticker.DIRECTION}',
 pause: {switch_ticker.STOP_TIME}
 });
 });
 <!-- END switch_ticker -->
 });

 <!-- BEGIN switch_login_popup -->
 var logInPopUpLeft, logInPopUpTop, logInPopUpWidth = {LOGIN_POPUP_WIDTH},
 logInPopUpHeight = {LOGIN_POPUP_HEIGHT}, logInBackgroundResize = true, logInBackgroundClass = false;

 $(document).ready(function () {
 $(window).resize(function () {
 var windowWidth = document.documentElement.clientWidth;
 var popupWidth = $("#login_popup").width();
 var mypopup = $("#login_popup");

 $("#login_popup").css({
 "left": windowWidth / 2 - popupWidth / 2
 });
 });
 });
 <!-- END switch_login_popup -->
 //]]>
 </script>

 {GREETING_POPUP}

 <style type="text/css">
 #page-footer, div.navbar, div.navbar ul.linklist {
 display: block !important;
 }

 ul.linklist li.rightside, ul.linklist li.rightside a.copyright {
 display: inline !important;
 }

 <!-- BEGIN switch_ticker_new -->
 .jcarousel-skin-tango .jcarousel-item {
 text-align: center;
 width: 10px;
 }

 .jcarousel-skin-tango .jcarousel-item-horizontal {
 margin-right: {switch_ticker.SPACING}px;
 }

 .jcarousel-skin-tango .jcarousel-item-vertical {
 margin-bottom: {switch_ticker.SPACING}px;
 }

 <!-- END switch_ticker_new -->
 </style>

 {HOSTING_JS}

 <!-- BEGIN google_analytics_code -->
 <script type="text/javascript">
 //<![CDATA[
 (function (i, s, o, g, r, a, m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 (i[r].q=i[r].q||[]).push(arguments)}, i[r].l = 1 * new Date();
 a = s.createElement(o),
 m = s.getElementsByTagName(o)[0];
 a.async = 1;
 a.src = g;
 m.parentNode.insertBefore(a, m)
 })
 (window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');

 ga('create', '{G_ANALYTICS_ID}', 'auto');
 ga('send', 'pageview');
 ga('set', 'anonymizeIp', true);

 <!-- BEGIN google_analytics_code_bis -->
 ga('create', '{G_ANALYTICS_ID_BIS}', 'auto', 'bis');
 ga('bis.send', 'pageview');
 ga('bis.set', 'anonymizeIp', true);
 <!-- END google_analytics_code_bis -->
 //]]>
 </script>
 <!-- END google_analytics_code -->

  <link href="https://fonts.googleapis.com/css?family=Hind:200,300,400,500,600,700,800|Poppins:200,300,400,500,600,700,800&amp;display=swap" rel="stylesheet"/>
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" />
      <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/v4-shims.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/smoothscroll/1.4.10/SmoothScroll.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css"/>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"></script>
  <script>new WOW().init();</script>
</head>

<body>
<!-- BEGIN hitskin_preview -->
<div id="hitskin_preview" style="display: block;">
 <h1><img src="{hitskin_preview.PATH_IMG_FA}hitskin/hitskin_logo.png" alt=""/> <em>Hit</em>skin.com</h1>
 <div class="content">
 <p>
 {hitskin_preview.L_THEME_SITE_PREVIEW}
 <br/>
 <span>{hitskin_preview.U_INSTALL_THEME}<a
 href="https://{hitskin_preview.U_RETURN_THEME}">{hitskin_preview.L_RETURN_THEME}</a></span>
 </p>

 </div>
</div>
<!-- END hitskin_preview -->

<!-- BEGIN switch_login_popup -->
<div id="login_popup" style="z-index: 10000 !important;">
 <div class="h3">{SITENAME}</div>
 <div id="login_popup_message">
 {LOGIN_POPUP_MSG}
 </div>
 <div id="login_popup_buttons">
 <form action="{S_LOGIN_ACTION}" method="get">
 <input type="submit" class="button1" value="{L_LOGIN}"/>
 <input type="button" class="button1" value="{L_REGISTER}" onclick="parent.location='{U_REGISTER}';"/>
 <input id="login_popup_close" type="button" class="button2" value="{L_DONT_DISPLAY_AGAIN}"/>
 </form>
 </div>
</div>
<!-- END switch_login_popup -->

{JAVASCRIPT}
  <div id="navbar">
    <div class="navbar-title"><a href="#top"><i class="fas fa-arrow-up"></i></a><a href="https://blankbarn.forumactif.com/">blankbarn</a></div>
    <div class="navbar-center"></div>
    <!-- BEGIN switch_user_logged_in -->
        <div class="navbar-right">
          <div class="navbar-stats">
            <div class="navbar-element masterTooltip" title="Fonds"><i class="fas fa-gem"></i><div class="element1"></div><span>gem</span></div>
            <div class="navbar-element masterTooltip" title="Expérience"><i class="fas fa-certificate"></i><div class="element2"></div><span>pts</span></div>
            <div class="navbar-element masterTooltip" title="Réputation"><i class="fas fa-thumbs-up"></i><div class="element3"></div><span>like</span></div>
   <div class="navbar-tilt"></div>
    </div>
            <div class="navbar-name" id="nn"><script>document.write(_userdata.username)</script><i class="fas fa-angle-down"></i></div>  
      <div class="dropdown-content2 animate__animated animate__fadeInDown animate__faster" id="tags">
                   <div class="gauche">
                     <a id="profile"><i class="fas fa-user"></i>
<script>$("#profile").attr("href", "/u" + _userdata.user_id);</script> Profil</a>
                    <a href="/profile?mode=editprofile"><i class="fas fa-cog"></i> Préférences</a>
                     <a href="/login?logout=1"><i class="fas fa-power-off"></i> Déconnexion</a>
        </div>
        <div class="droite">
          <a href="/search"><i class="fas fa-search"></i> Recherche</a>
          <a href="{U_SEARCH_NEW}"><i class="fas fa-comment-dots"></i> Derniers messages</a>
          <a href="{U_MARK_READ}"><i class="fas fa-comment-slash"></i> Marquage tout lu</a>
        </div></div>
      </div>
    <script>setDataProfil();</script>
    <!-- END switch_user_logged_in -->
    <!-- BEGIN switch_user_logged_out -->
    <div class="navbar-right">
      <a href="/register">Inscription</a>
      <a href="/login">Connexion</a>
      <div class="navbar-tilt"></div>
    </div>
    <!-- END switch_user_logged_out -->
  </div>
  <div class="cover"><div class="cover-img"></div>
    <div class="header-blankbarn">
      <div class="header-title wow animate__animated animate__fadeInDown"><div class="header-title1"><i>b</i>lank</div><div class="header-title2"><i>b</i>arn</div>
      </div>
      <div class="header-subtitle wow animate__animated animate__fadeInUp">Une simulation d'aventure et de gestion équine</div>
  </div>
    </div>
   <div id="content">
        <div class="banner">
          <div class="banner-click"><i class="fas fa-thumbtack"></i><div class="banner-click-title">Tableau de bord<span>Cliquez pour développer</span></div></div>
          <div class="banner-menu">
            <div class="banner-menu-content">
              <section id="bbtab">
                <input type="radio" id="bbtab1" name="blank" checked=""/>
                  <label for="bbtab1" id="bbtab1" title="one">
          <div class="banner-sticker"><i class="fas fa-volume-up"></i></div>
        </label>
                <input type="radio" id="bbtab2" name="blank"/>
                  <label for="bbtab2" id="bbtab2" title="two">
          <div class="banner-sticker"><i class="fas fa-map"></i></div>
        </label>
                <input type="radio" id="bbtab3" name="blank"/>
                  <label for="bbtab3" id="bbtab3" title="three">
           <div class="banner-sticker"><i class="fas fa-users"></i></div>
        </label>
                <input type="radio" id="bbtab4" name="blank"/>
                  <label for="bbtab4" id="bbtab4" title="four">
           <div class="banner-sticker"><i class="fas fa-horse-head"></i></div>
        </label>
              <div class="menu1"><div class="banner-menu-title">Actualités</div>
                <div class="banner-new"><span>Mai 2020</span>blankbarn est en phase de développement.</div></div>
                <div class="menu2"><div class="banner-menu-title">Liens importants</div>Aenean eget porta est, semper suscipit turpis. Nullam neque nisl, lacinia et dui tempus, lobortis interdum risus. Duis vel tincidunt purus. Donec et lorem id urna auctor lacinia. Morbi eu dapibus tortor. Morbi eget placerat nulla. Aenean eu odio lorem. Phasellus nec massa diam.</div>
                <div class="menu3"><div class="banner-menu-title">Communauté</div>
  
        <script>
            $.get('/memberlist', function(data) {
                var ViewMl = $('.memberlist-wrapper', data).html();
                $('#memberlist').html(ViewMl);
            });
        </script>
        <div id="memberlist"></div>
        <script>
            $.get('/viewonline', function(data) {
                var ViewQeel = $('.forumbg', data).html();
                $('#Qeel').html(ViewQeel);
            });
        </script>

        <script>
            $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
        </script>
    </div>
            
                <div class="menu4"><div class="banner-menu-title">blankbarn</div>Bâtiments en ruine, gérants absents, fidèles destriers d’autrefois devenus sauvages et éparpillés au quatre coins de la région : c’est dans ce triste état que se trouve malheureusement le plus grand complexe équin de la planète jamais construit. Il y a bien longtemps, pourtant, il suscitait l’enthousiasme des plus grands cavaliers et logeait les chevaux les plus majestueux. Totalement déserté par l’Homme depuis des siècles, le domaine n’est à présent que désolation. Que s’est-il donc passé ? Nul ne le sait, ni le saura un jour. Tout ce qui importe, c’est qu’un petit groupe d’humains armés d’un même amour pour les chevaux est désireux de mettre la main à la pâte afin de restaurer les lieux dans l’espoir de faire resplendir leur éclat d’antan.
                </div>
 </section>
            </div>
          </div>
          <div class="banner-right">
            <div class="banner-year masterTooltip" title="Année en cours"><span>1</span></div></div>
            <div class="banner-mission"><div class="banner-mission-title">Quête principale<span>Remettre sur pied l'Antique centre</span></div>
              <div class="banner-mission-tot">
                <div class="banner-mission-pur masterTooltip" style="width:25%;" title="25%"></div>
              </div>
          </div>
     </div>
     <div class="cat-title"><div class="cat-titlee"><b>001</b>. Informations essentielles
       <span>Tout ce qu'il y a de plus important, c'est ici.</span>
       </div>
           </div>
     <div class="cat">
       <div class="cat-forum1"><div class="cat-forum1-top"></div></div>
       <div class="cat-wrap">
         <div class="cat-forum2"></div>
       <div class="cat-forum3"></div>
       <div class="cat-forum4"></div>
       </div></div>
     <div style="height:500px;"></div>
        <div id="wrapper">


Dernière édition par foxies le Lun 25 Mai 2020 - 9:37, édité 1 fois
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Sam 23 Mai 2020 - 15:30

Hello o/
Au cas où, as-tu essayé d'inclure le deuxième JS (js-reg-user) directement dans le template memberlist_body (avant la dernière div) pour importer le tout dans le overall_header par la suite ?

Par ailleurs, est-ce que ce script est utilisé ?
Code:
<script>
            $.get('/viewonline', function(data) {
                var ViewQeel = $('.forumbg', data).html();
                $('#Qeel').html(ViewQeel);
            });
        </script>

Avec les deux scripts, les /viewonline est appelé 2 fois et la variable ViewQeel n'est utilisée nul part :b
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Sam 23 Mai 2020 - 15:38

Hello ! Merci de te pencher sur mon cas I love you

Alors, le script dont tu parles est bel est bien utilisé. J'avoue être une brêle en JS... du coup il faut que je le garde ou pas ? What a Face

Sinon, je viens d'essayer de mettre le deuxième JS avec js-reg-user directement ans le template memberlist_body mais rien n'a bougé.

Si je récapitule, pour l'instant j'ai ça dans mon template overall_header :

Code:
<script>
            $.get('/memberlist', function(data) {
                var ViewMl = $('.memberlist-wrapper', data).html();
                $('#memberlist').html(ViewMl);
            });
        </script>
        <div id="memberlist"></div>
<script>
            $.get('/viewonline', function(data) {
                var ViewQeel = $('.forumbg', data).html();
                $('#Qeel').html(ViewQeel);
            });
        </script>

Et ceci dans mon template memberlist_body :

Code:
<div class="memberlist-wrapper">
  <!-- BEGIN memberrow -->
 <div class="member js-member-block">
   <a href="{memberrow.U_VIEWPROFILE}" class="js-member-link">{memberrow.USERNAME}</a>
 </div>
<!-- END memberrow -->
          <script>
            $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
        </script>
  </div>
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 7:28

Un petit UP I love you
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 8:08

Re o/
Il manque la modification du template du viewonline pour que le JS fonctionne:

Dans le template viewonline_body, trouver:
Code:
<td><a href="{reg_user_row.U_USER_PROFILE}">{reg_user_row.USERNAME}</a></td>

Remplacer par:
Code:
<td><a class="js-reg-user" href="{reg_user_row.U_USER_PROFILE}">{reg_user_row.USERNAME}</a></td>
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 8:12

Bonjour !

Alors, la modification est faite mais cependant cela n'a rien changé Smile
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 8:15

C'est bien le 3e onglet du tableau de bord ?
Si oui, ça fonctionne bien, mais il faut styliser le .pulse. Exemple:

Code:
.pulse a.js-member-link {
    background-color: red;
    padding: 0 3px;
}
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 8:17

Oui c'est bien ça. C'est assez étrange, même avec l'ajout de .pulse a.js-member-link dans le CSS, rien n'apparaît... Aucune class ne s'ajoute en fait quand un membre est connecté.
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 8:18

Je viens de revérifier à l'instant, et ça marche parfaitement de mon côté o.o?

Script faisant apparaître liste des membres (+ connectés)  Screenshot-59
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 8:20

Alors là, je ne comprends pas haha, chez moi je n'ai pas ce résultat !
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 8:33

Je suis sur le c*l. Je suis allé voir directement sur Chrome:
- Ça fonctionne bien sur mon forum test, le "pulse" est là;
- Pas de "pulse" sur ton forum

Dans le doute; dans ton template memberlist_body, essaies de remplacer le script par celui-ci ?
Code:
$(function() {
              $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
  });
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 8:36

Toujours pas ! Très étrange !
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 8:42

On va remettre le code JS -que je t'avais demandé de déplacer- dans le overall_header.

1. Supprime le script du memberlist_body.
2. Dans le overall_header:

Mets le code ci-dessous..
Code:
            $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });

..juste après le code suivant (s'il n'a pas changé depuis le 3e post):
Code:
<script>
            $.get('/memberlist', function(data) {
                var ViewMl = $('.memberlist-wrapper', data).html();
                $('#memberlist').html(ViewMl);
            });
        </script>
        <div id="memberlist"></div>
<script>
            $.get('/viewonline', function(data) {
                var ViewQeel = $('.forumbg', data).html();
                $('#Qeel').html(ViewQeel);
            });
        </script>
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 8:46

C'est fait, donc j'ai maintenant ceci dans mon overall_header (plus aucun script dans le template memberlist_body) :

Code:
<script>
            $.get('/memberlist', function(data) {
                var ViewMl = $('.memberlist-wrapper', data).html();
                $('#memberlist').html(ViewMl);
            });
        </script>
        <div id="memberlist"></div>
<script>
            $.get('/viewonline', function(data) {
                var ViewQeel = $('.forumbg', data).html();
                $('#Qeel').html(ViewQeel);
                        $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
        </script>

Et... malheureusement c'est toujours négatif Sad
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 9:10

..Bon, ça marche même plus sur mon navigateur (Brave) avec ces modifs. Du coup, si tu peux remettre comme avant (désolé :b):

overall_header (j'ai modifié le id="memberlist" en id="member-list" /!\):
Code:
      <div id="member-list"></div>
                                  <script>
            $.get('/memberlist', function(data) {
                var ViewMl = $('.memberlist-wrapper', data).html();
                $('#member-list').html(ViewMl);
            });
       
        </script>

memberlist_body
Code:
<div class="memberlist-wrapper">
  <!-- BEGIN memberrow -->
 <div class="member js-member-block">
  <a href="{memberrow.U_VIEWPROFILE}" class="js-member-link">{memberrow.USERNAME}</a>
 </div>
<!-- END memberrow -->
</div>
<script>
  $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
</script>
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 9:13

Pas de soucis, c'est fait What a Face
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 9:31

Re,
Je pense avoir réussi.

Bon, je suis chiant, mais.. tu vas devoir retirer le script du memberlist_body Mr. Green m'enveuxpasstp

Remplace tout le code lié au memberlist dans le overall_header par:
Code:
<div id="memberlistt">
                                 
<script>$(function() {
  $.get("/viewonline", function(data) {
                var idLink;
                $(function() {
                    $(".js-reg-user", data).each(function() {
                        idLink = $(this).attr("href");
                        $(".js-member-link[href='" + idLink + "']").closest(".js-member-block").addClass("pulse");
                    });
                });
            });
});
</script>
       
</div>                     
<script>
  $.ajax({
  url:'/memberlist',
        type:'GET',
        success: function(dataget){
          $('#memberlistt').prepend($(dataget).find('.memberlist-wrapper').html());
        }
});
</script>
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par foxies Lun 25 Mai 2020 - 9:36

Un gros gros merci ! Je suis vraiment ravie que ça fonctionne I love you
foxies

foxies
*****

Féminin
Messages : 607
Inscrit(e) le : 02/05/2010

http://hawkeyeriver.forumgratuit.org/
foxies a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script faisant apparaître liste des membres (+ connectés)

Message par mSyx Lun 25 Mai 2020 - 9:40

GOSH c'était casse-tête. :b Je confirme que ça marche bien de mon côté également, autant sur Chrome que Brave :>
edit: tu as pu le voir, je me suis crée un compte au début pour vérifier le js plus rapidement; n'hésite pas à le supprimer ^^

Script faisant apparaître liste des membres (+ connectés)  Ezgif-com-optimize
mSyx

mSyx
****

Masculin
Messages : 394
Inscrit(e) le : 22/09/2012

https://forum.forumactif.com/
mSyx a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum