Lien restreint aux admins dans la PA
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Lien restreint aux admins dans la PA
Détails techniques
Version du forum : ModernBBPoste 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 ! ^-^/
Invité- Invité
Re: Lien restreint aux admins dans la PA
Bonjour,
Donc commencez par créer votre lien personnalisé, et placez-le tout en haut (au début) 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) :
Ensuite, dans les modules JavaScript, vous pouvez en créer un avec placement sur toutes les pages.
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é.
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.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.
Donc commencez par créer votre lien personnalisé, et placez-le tout en haut (au début) 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>
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);
}
});
- 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é.
Donnez un titre explicite à votre sujet pour améliorer son référencement Remerciez le message qui vous a aidé pour le mettre en évidence Cochez lorsque votre problème est résolu pour faciliter le travail des modérateurs L'aide par MP n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre |
Re: Lien restreint aux admins dans la PA
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 :
au lieu de :
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 :
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 ?
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}
- 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 ?
Invité- Invité
Re: Lien restreint aux admins dans la PA
Avec plaisir
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.
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.
Donnez un titre explicite à votre sujet pour améliorer son référencement Remerciez le message qui vous a aidé pour le mettre en évidence Cochez lorsque votre problème est résolu pour faciliter le travail des modérateurs L'aide par MP n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre |
Re: Lien restreint aux admins dans la PA
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 !
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 !
Invité- Invité
Re: Lien restreint aux admins dans la PA
Bonsoir,
Je viens d'aller faire un tour sur votre forum et en fait le problème s'explique comme suit :
Pour corriger cela, vous avez deux solutions :
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 :
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.
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.
Donnez un titre explicite à votre sujet pour améliorer son référencement Remerciez le message qui vous a aidé pour le mettre en évidence Cochez lorsque votre problème est résolu pour faciliter le travail des modérateurs L'aide par MP n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre |
Re: Lien restreint aux admins dans la PA
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 !
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 !
Invité- Invité
Sujets similaires
» [Permissions] nouveau message dans une section dont l'accès a été restreint
» Envoi de MP à tous les admins par un lien sur pseudo en page d'accueil
» [AwesomeBB] Convertir un lien site et /ou un lien image dans les sujets
» insérer un logo(lien) dans la section lien de mon portail
» Un fond de couleur dans le profil des admins
» Envoi de MP à tous les admins par un lien sur pseudo en page d'accueil
» [AwesomeBB] Convertir un lien site et /ou un lien image dans les sujets
» insérer un logo(lien) dans la section lien de mon portail
» Un fond de couleur dans le profil des admins
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum