BEGIN dans le QEEL

2 participants

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

Résolu BEGIN dans le QEEL

Message par Bryx Dim 12 Nov 2023 - 10:32

Détails techniques


Version du forum : AwesomeBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Problème apparu depuis : 12/11/2023
Lien du forum : https://webtoons.forumactif.com

Description du problème

Salut,

Je cherche à masquer des informations dans le QEEL aux invités comme les membres connectés, membres connectés au cours de X heures, les groupes. Or, une variable BEGIN se retrouve en conflit et fait tout bugs le template.

Voici le code en question :
Code:
<!-- BEGIN switch_user_logged_out -->
<!-- BEGIN disable_viewonline -->
<div id="block-online" class="block-subtle">
    <i class="material-icons">assessment</i>
    <div>
        <!-- BEGIN switch_viewonline_link -->
        <span class="headline"><a href="{U_VIEWONLINE}" style="color: #263238;" rel="nofollow">{L_WHO_IS_ONLINE}</a></span>
        <!-- END switch_viewonline_link -->

        <!-- BEGIN switch_viewonline_nolink -->
        <span class="headline">{L_WHO_IS_ONLINE}</span>
        <!-- END switch_viewonline_nolink -->

        {TOTAL_USERS_ONLINE}<br />
        {RECORD_USERS}<br />
    </div>
</div>
<!-- END disable_viewonline -->
<!-- END switch_user_logged_out -->

<!-- BEGIN switch_user_logged_in -->
<!-- BEGIN disable_viewonline -->
<div class="global-stat-bar">
    <div>
        <span>{TOTAL_POSTS}</span>
        <script>
            $("script:last")
                .prev()
                .text(function (_, o) {
                    return o.match(/[0-9]+/)[0];
                });
        </script>
        MESSAGES
    </div>
    <div>
        <span>{TOTAL_USERS}</span>
        <script>
            $("script:last")
                .prev()
                .text(function (_, o) {
                    return o.match(/[0-9]+/)[0];
                });
        </script>
        MEMBRES
    </div>
    <div>
        <span>{NEWEST_USER}</span>
        <script>
            $("script:last")
                .prev()
                .html(function (_, o) {
                    return o.match(/<.*>/)[0];
                });
        </script>
        NOUVEAU
    </div>
</div>
<div id="block-online" class="block-subtle">
    <i class="material-icons">assessment</i>
    <div>
        <!-- BEGIN switch_viewonline_link -->
        <span class="headline"><a href="{U_VIEWONLINE}" style="color: #263238;" rel="nofollow">{L_WHO_IS_ONLINE}</a></span>
        <!-- END switch_viewonline_link -->

        <!-- BEGIN switch_viewonline_nolink -->
        <span class="headline">{L_WHO_IS_ONLINE}</span>
        <!-- END switch_viewonline_nolink -->

        {TOTAL_USERS_ONLINE}<br />
        {RECORD_USERS}<br />

        {LOGGED_IN_USER_LIST} {L_ONLINE_USERS} {L_WHOSBIRTHDAY_TODAY}{L_WHOSBIRTHDAY_WEEK}

        <br />
        <!-- BEGIN switch_group_legend -->
        <strong>{LEGEND}</strong>&nbsp;:&nbsp;{GROUP_LEGEND}
        <!-- END switch_group_legend -->
    </div>
</div>
<div id="block-online-24h" class="block-subtle">
    <i class="material-icons">schedule</i>
    <div>
        <span class="headline">En ligne ses dernières heures</span>
        <script type="text/javascript">
            $(function () {
                if ($("#totalusers_online").length) {
                    var online_a = $("#totalusers_online a");
                    $("#nb_useronline").text(online_a.length);
                }
            });
        </script>
        <div id="totalusers_online">
            <strong><span id="nb_useronline"></span></strong>&nbsp; {L_CONNECTED_MEMBERS}
        </div>
    </div>
</div>
<!-- END disable_viewonline -->
<!-- END switch_user_logged_in -->

Comment puis-je masquer les informations comme souhaités dans les templates ? Par avance, merci beaucoup et éventuellement, l'équipe technique de Forumactif ajoute le switch_user_logged dans le template des variables dans le QEEL/page d'accueil.

Encore merci,
Bryx
Bryx

Bryx
****

Masculin
Messages : 404
Inscrit(e) le : 03/12/2017

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

Résolu Re: BEGIN dans le QEEL

Message par Toryudo Dim 12 Nov 2023 - 15:47

Bonjour !

Dans le JavaScript de toutes les pages, on trouve toujours la variable _userdata["session_logged_in"] :
_userdata["session_logged_in"] = 0 ➔ c'est un invité qui visite la page
_userdata["session_logged_in"] = 1 ➔ c'est une personne connectée qui visite la page

Dès lors, il devient possible de créer des scripts qui vont se baser sur cette valeur pour faire des choses, comme afficher des éléments ou les masquer.
On pourrait par exemple imaginer que l'élément est masqué par défaut dans le CSS, et un script de ce style permettrait d'afficher l'élément uniquement si la personne est connectée :
Code:
$(function(){
  if (_userdata["session_logged_in"] == 1){
    $('#block-online').css( "display", "block" );
  }
});

Normalement, _userdata["session_logged_in"] dépanne bien pour ce genre de petites choses !
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: BEGIN dans le QEEL

Message par Bryx Lun 13 Nov 2023 - 11:18

Hello,

J'ai adapté ton script à mon besoin, mais je t'avoue que je ne comprends pas que la session soit impossible dans la boucle du qui est en ligne. Cependant, ton script fonctionne à la fois sur pc, et mobile.

Merci
Bryx

Bryx
****

Masculin
Messages : 404
Inscrit(e) le : 03/12/2017

https://webtoons.forumactif.com
Bryx 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