Lien restreint aux admins dans la PA

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

Résolu Lien restreint aux admins dans la PA

Message par Invité Mar 23 Nov 2021 - 9:10

Détails techniques

Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome, Autre
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : https://arknights-rpg.forumsrpg.com/

Description du problème

Bien le bonjour ami.e.s du FdF !

Je suis Fondadmin de mon forum, en version ModernBB. Mon (nouveau) problème est le suivant :
Dans la PA j'aurais aimé rajouter un lien vers le sous forum du staff qui ne soit visible QUE par les modérateurs et administrateurs. Etant donné que les permissions en place empêchent les autres membres non staffeux de voir ou d'accéder à ce sous forum, ce lien serait totalement obsolète pour eux...
Dans l'idée j'aurais bien aimé quelque chose de similaire à la possibilité donnée d'une navigation personnalisée dans la barre de navigation et le restreindre qu'aux modos, mais je n'utilise pas le {GENERATED_NAV_BAR} etant donné que ce serait pour la PA.
Ma PA étant codée dans les templates overall_header et index_body, est-ce qu'il existerait une balise dans le même genre que "switch_user_auth" ou ce genre de chose pour que le bouton ne soit visible que par des membres ciblés ou par un groupe ciblé ?

En vous remerciant d'avance d'avoir pris le temps de lire ma demande, ainsi que pour les solutions qui serront apportées ! ^-^/
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Lien restreint aux admins dans la PA

Message par Oka.mi Mer 24 Nov 2021 - 12:09

Bonjour,

Amaglibr a écrit:Dans l'idée j'aurais bien aimé quelque chose de similaire à la possibilité donnée d'une navigation personnalisée dans la barre de navigation et le restreindre qu'aux modos, mais je n'utilise pas le {GENERATED_NAV_BAR} etant donné que ce serait pour la PA.
Je pense que la solution la plus simple et la moins lourde en requête consistera tout de même à utiliser cette possibilité de menu personnalisé offerte par le panneau d'admin, et à par la suite déplacer le lien via JavaScript.

Donc commencez par créer votre lien personnalisé, et placez-le tout en haut (au début) :up: pour simplifier la tâche du JavaScript.

Une fois votre lien créé, dans votre page d'accueil, à l'emplacement souhaité, créez une balise vide avec un id (ce sera le point d'atterrissage du lien) :
Code:
<div id="lienstaff"></div>
(J'ai mis lienstaff mais vous mettez ce que vous voulez bien sûr, faudra juste modifier dans le JavaScript aussi)

Ensuite, dans les modules JavaScript, vous pouvez en créer un avec placement sur toutes les pages.
Code:
$(function() {
    var l = document.querySelectorAll('.mainmenu')[0];
    if (l.href == "https://arknights-rpg.forumsrpg.com/SUITEDULIEN") {
      var lienstaff = document.getElementById('lienstaff');
      lienstaff.className = 'linksut';
      lienstaff.append(l);
    }
});
Petites remarques :
  • var l détermine une variable nommée "l", vous pouvez bien sûr changer le nom de la variable, faut juste faire attention à que ça soit fait sur les trois lignes.
  • le .href == compare avec un lien entier (adresse url du forum comprise) ce qui fait que si vous mettez juste "/f56-" (par exemple) ça ne marchera pas.
  • dans votre css vous avez appliqué un display:none et un visibility:hidden sur les liens du mainmenu. Il faut savoir que le display:none seul suffit.


Au niveau des actions du JS, si on décortique ça donne :
var l = document.querySelectorAll('.mainmenu')[0]; on déclare une variable "l" qui concerne tous les .mainmenu dans un premier temps mais se focalisant ensuite sur le premier élément [0], c'est-à-dire le lien personnalisé (d'où l'importance de mettre le lien personnalisé à la première place).
if (l.href == on vérifie si le premier lien est égal au lien du forum staff car ce n'est pas forcément le cas : si c'est un membre lambda, son premier lien ce sera l'accueil, donc la suite du script ne s’exécute que si le lien concerné est là.
var lienstaff = document.getElementById('lienstaff'); on déclare une variable "lienstaff" avec l'élément div à l'id "lienstaff" pour optimiser le temps de chargement.
lienstaff.className = 'linksut'; on attribue à la variable / l'élément "lienstaff" le class "linksut" qui est celui des boutons du .blok1 de votre PA. Si ce n'est pas là que vous vouliez mettre ce lien / que vous ne vouliez pas ajouter ce class, vous avez juste à retirer cette ligne.
lienstaff.append(l); on place dans la variable / l'élément "lienstaff" la variable "l" qui est donc le lien personnalisé.


Lien restreint aux admins dans la PA 1213Donnez un titre explicite Lien restreint aux admins dans la PA VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Lien restreint aux admins dans la PA 976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Lien restreint aux admins dans la PA FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2777
Inscrit(e) le : 06/01/2011

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

Résolu Re: Lien restreint aux admins dans la PA

Message par Invité Mer 24 Nov 2021 - 19:17

Bonsoir Oka.Mi !
Merci beaucoup pour cette réponse rapide et efficace, ainsi que pour toutes les petites explications ajoutées, c'est vraiment très appréciable <3

Ce script fonctionne parfaitement, mon petit bouton staff a l'effet souhaité !
Cependant, un petit soucis semble avoir découlé de cette manoeuvre ! (Je m'en doutais un peu que l'utilisation des liens personnalisés me feraient sauter quelque chose.. vu comme j'ai bidouillé/magouillé un peu n'importe comment ma barre de navigation ! xD)

Voici un petit aperçu :
screen:

au lieu de :
screen:

Le fait d'avoir ajouté un lien de navigation semble m'avoir décalé toute ma barre de navigation. Dès lors que je suis ailleurs que sur l'index du forum ou sur l'index de la catégorie contenant le sous forum du staff ce décalage n'apparaît pas, cependant tous les sujets/listes de sujets et autres catégories sont affectées par cette déformation...

J'ai pourtant essayé de rajouter au css de ma barre de navigation :
Code:
.link_navbar a[href^="https://arknights-rpg.forumsrpg.com/f14-cachette-des-staffioles"] {display:none}
et
Code:
.link_navbar a[href^="/f14-cachette-des-staffioles"] {display:none}

en espérant que s'il s'agit du lien qui vient de s'injecter à la generated_nav_bar, cela fasse disparaitre ce bug en effaçant sa présence... mais aucune de ces deux rectifications ne changent mon problème venu avec l'ajout que nous venons de faire. Auriez-vous une idée ?
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Lien restreint aux admins dans la PA

Message par Oka.mi Mer 24 Nov 2021 - 23:16

Avec plaisir Smile

Là comme ça c'est compliqué pour moi de déterminer d'où vient le problème d'affichage. D'habitude je demande les templates concernés et le css, mais là, comme le problème semble étendu sur plusieurs pages, je pense que le plus simple pour vous ce serait que je me crée un compte test sur votre forum. Par contre, pour que je voie la même chose que vous, il faudra sans doute que vous modifiez temporairement le lien du menu personnalisé et dans le JS pour mettre à la place un lien vers un forum que n'importe quel membre peut voir. Si cela vous gêne, on peut passer par le procédé classique, mais il me faudra alors les templates overall_header, index_body, index_box, topics_list_box + votre css pour commencer.


Lien restreint aux admins dans la PA 1213Donnez un titre explicite Lien restreint aux admins dans la PA VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Lien restreint aux admins dans la PA 976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Lien restreint aux admins dans la PA FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2777
Inscrit(e) le : 06/01/2011

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

Résolu Re: Lien restreint aux admins dans la PA

Message par Invité Jeu 25 Nov 2021 - 8:35

Merci beaucoup pour ce retour !
Pas de problème, le lien a été modifié pour la zone d'annexe, normalement accessible à tous : vous pouvez dès lors vous créer un compte test si besoin. J'espère que ça vous aidera !
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Lien restreint aux admins dans la PA

Message par Oka.mi Jeu 25 Nov 2021 - 17:30

Bonsoir,

Je viens d'aller faire un tour sur votre forum et en fait le problème s'explique comme suit :
  • Vous n'avez pas installé le #lienstaff sur la page d'accueil, en tout cas pas dans la partie qui est présente sur toutes les pages.
  • Or, le script a un placement sur toutes les pages, donc sur les pages où #lienstaff n'est pas présent, le script plante et fait planter la Toolbar de Forumactif, qui ne charge pas.
  • Sans Toolbar, pas de "notifications", et comme vous avez mis un "margin-top" négatif sur tous vos boutons pour les aligner par rapport à la Toolbar (cachée jusque là derrière "arkmenu"), l'effet s'applique maintenant directement à partir du bord de la fenêtre, ce qui fait que vos boutons sortent du cadre.


Pour corriger cela, vous avez deux solutions :
  • Soit modifier le script pour le placer uniquement sur l'index.
  • Soit changer l'emplacement du #lienstaff pour le mettre à un endroit qui s'affiche sur toutes les pages.


On peut également ajouter une sécurité supplémentaire avec une ligne de test if (lienstaff) qui vérifie la présence de #lienstaff, ce qui marchera très bien comme solution temporaire (par exemple le temps que vous trouviez un compromis) puisque ça devrait régler les soucis de plantage / décalage :
Code:
$(function() {
    var l = document.querySelectorAll('.mainmenu')[0];
    if (l.href == "https://arknights-rpg.forumsrpg.com/SUITEDULIEN") {
      var lienstaff = document.getElementById('lienstaff');
      if (lienstaff) {
        lienstaff.className = 'linksut';
        lienstaff.append(l);
      }
    }
});

Petites remarques supplémentaires : ce n'est pas vraiment le sujet donc je ne vais pas m'attarder dessus, mais de ce que j'ai pu voir, il y a une utilisation de position:fixed qui n'est pas toujours appropriée (sur les boutons par exemple), peut-être préférer la position:absolute et éviter le margin-top, préférer positionner avec top, left, right, bottom. D'ailleurs au sein de certaines balises, vous mettez parfois position:absolute, z-index donc il faudra corriger cela pour mettre le ; à la place.


Lien restreint aux admins dans la PA 1213Donnez un titre explicite Lien restreint aux admins dans la PA VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Lien restreint aux admins dans la PA 976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Lien restreint aux admins dans la PA FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2777
Inscrit(e) le : 06/01/2011

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

Résolu Re: Lien restreint aux admins dans la PA

Message par Invité Ven 26 Nov 2021 - 12:46

Re-bonjour Oka.Mi !

Merci pour ce retour et ces éclaircissements, le problème et résolu et plus aucune déformation n’apparait !
Encore mille mercis pour le temps pris pour cette demande !!! <3

Je trie mon sujet comme étant résolu !
Anonymous

Invité
Invité


Invité 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