Masquer un bouton aux membres et invités
2 participants
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
Masquer un bouton aux membres et invités
Détails techniques
Version du forum : phpBB3
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://photoclic.forum-pro.fr/
Description du problème
Bonsoir,j'ai créé le code suivant pour ajouter 3 boutons dans la barre de notification.
Le bouton "Accueil", le bouton "Portail", et le bouton "on vote".
- Code:
$(function(){ $(function(){
$('<a href="http://photoclic.forum-pro.fr/"style="margin-right:60px;">
<img src="http://2img.net/i/fa/prosilver/icon_home.gif"/>Accueil</a>')
.insertBefore( '#fa_menu' );
})});
$(function(){ $(function(){
$('<a href="http://photoclic.forum-pro.fr/portal"style="margin-right:60px;">
<img src="http://2img.net/i/fa/icon_mini_portal.gif"/>Portail</a>')
.insertBefore( '#fa_menu' );
})});
$(function(){ $(function(){
$('<a href="http://photoclic.forum-pro.fr/f12-photovote"style="margin-right:380px;">
<img src="http://2img.net/i/fa/prosilver/icon_portal.png"/>On vote</a>')
.insertBefore( '#fa_menu' );
})});
Je souhaiterais donc masquer le 3ième bouton "On vote" aux invités et membres, pour qu'il ne soit vu que par les modérateurs et administrateurs.
Merci pour votre aide
Dernière édition par photoclic le Sam 5 Mar - 13:23, édité 1 fois
Re: Masquer un bouton aux membres et invités
Bonjour ^^
Exécuter un code javascript sous certaines conditions
On peut se servir de la variable _userdata["user_level"] pour coder la condition.
_userdata["user_level"] vaut 1 si le visiteur est administrateur
_userdata["user_level"] vaut 2 s'il est modérateur
_userdata["user_level"] vaut 0 dans les autres cas.
Exécuter un code javascript sous certaines conditions
On peut se servir de la variable _userdata["user_level"] pour coder la condition.
_userdata["user_level"] vaut 1 si le visiteur est administrateur
_userdata["user_level"] vaut 2 s'il est modérateur
_userdata["user_level"] vaut 0 dans les autres cas.
Re: Masquer un bouton aux membres et invités
Merci beaucoup Neptuna.
Je n'arrive pas à trouver la bonne syntaxe pour le IF. je ne sais pas programmer.
Si quelqu'un pouvait m'aider.
Je n'arrive pas à trouver la bonne syntaxe pour le IF. je ne sais pas programmer.
Si quelqu'un pouvait m'aider.
Re: Masquer un bouton aux membres et invités
Salut photoclic,
j'ai compacté le script pour les deux premier boutons et ajouté la condition
pour l'affichage du bouton vote pour les admins et modos.
Édites le Java script et remplaces le contenu par celui-ci:
Penses à cliquer sur le bouton
a++
j'ai compacté le script pour les deux premier boutons et ajouté la condition
pour l'affichage du bouton vote pour les admins et modos.
Édites le Java script et remplaces le contenu par celui-ci:
- Code:
$(function(){
$(function(){
$('<a href="http://photoclic.forum-pro.fr/"style="margin-right:60px;">
<img src="http://2img.net/i/fa/prosilver/icon_home.gif"/>Accueil</a>
<a href="http://photoclic.forum-pro.fr/portal"style="margin-right:60px;">
<img src="http://2img.net/i/fa/icon_mini_portal.gif"/>Portail</a>
').insertBefore( '#fa_menu' );
})});
$(function(){ if (_userdata.user_level == 1 || _userdata.user_level == 2 )
$(function(){
$('<a href="http://photoclic.forum-pro.fr/f12-photovote"style="margin-right:380px;">
<img src="http://2img.net/i/fa/prosilver/icon_portal.png"/>On vote</a>').insertBefore( '#fa_menu' );
})});
Penses à cliquer sur le bouton
a++
Invité- Invité
Re: Masquer un bouton aux membres et invités
Milouze que je salue a été plus rapide, je laisse toutefois mon message pour ceux qui tomberaient ultérieurement sur le sujet.
Notons au passage que Milouze utilise justement la formulation que j'avais écartée d'entrée, en testant une double comparaison
On repart du tutoriel.
1/ Comment mettre une condition sur un code ?
Reste plus que la condition.
2/ Comment faire une condition ?
Reprenons votre bouton réservé au staff et raisonnons un peu en dehors de tout codage.
a) On crée le bouton pour tous et ensuite on le masque aux membres, c'est ce qui correspond strictement à votre demande.
b) Pourquoi s'em*****r à masquer un élément s'il est possible de ne pas le créer ? C'est pourquoi on veut créer une condition.
Expression1, on connaît : c'est _userdata["user_level"]
Expression2, on connait aussi : c'est l'une des 3 valeurs que _userdata["user_level"] peut renvoyer 0, 1 ou 2.
Nous reste plus que l'opérateur de comparaison et là on a l'embarras du choix.
A- Si visiteur est différent d' un membre lambda (ou visiteur)
B- Si visiteur est un membre disposant d'accès spéciaux (admin/modo)
C- Si visiteur est admin, ou si visiteur est modo
Voilà 3 exemples de comparaisons qui fourniront toutes le même résultat.
On va exclure la 3e qui repose sur deux conditions et non une seule.
La première s'écrirait
La seconde s'écrira
Et comme la valeur numérique attendue vaut 0 ou 1 ou 2, dans ce cas précis, différent de zéro ou supérieur à zéro c'est la même chose puisque la variable ne prend pas de valeurs négatives.
Au final la condition complète pourrait donner
Avec ces conditions j'ai parfois des résultats inattendus et si une condition ne marche pas, et bien j'en essaie une autre puisqu'une même comparaison peut s'écrire de multiples manières.
Notons au passage que Milouze utilise justement la formulation que j'avais écartée d'entrée, en testant une double comparaison
On repart du tutoriel.
1/ Comment mettre une condition sur un code ?
- Code:
if(condition) {
/* votre code javascript à exécuter si la condition est vrai */
}
Reste plus que la condition.
2/ Comment faire une condition ?
Une comparaison s'écrit :Pour comparer 2 valeurs ( et que le résultat donne vrai ou faux ) il faut utiliser un opérateur de comparaison
- Code:
( expression1 oc expression2 )
Reprenons votre bouton réservé au staff et raisonnons un peu en dehors de tout codage.
Peut-être parce qu'il n'y a pas une bonne syntaxe mais qu'il y en a plusieurs.photoclic a écrit:Je n'arrive pas à trouver la bonne syntaxe pour le IF.
Rien que l'énoncé de la question peut se résoudre de plusieurs manières.photoclic a écrit:Je souhaiterais donc masquer le 3ième bouton "On vote" aux invités et membres, pour qu'il ne soit vu que par les modérateurs et administrateurs.
a) On crée le bouton pour tous et ensuite on le masque aux membres, c'est ce qui correspond strictement à votre demande.
b) Pourquoi s'em*****r à masquer un élément s'il est possible de ne pas le créer ? C'est pourquoi on veut créer une condition.
- Code:
( expression1 oc expression2 )
Neptunia- a écrit:On peut se servir de la variable _userdata["user_level"] pour coder la condition.
_userdata["user_level"] vaut 1 si le visiteur est administrateur
_userdata["user_level"] vaut 2 s'il est modérateur
_userdata["user_level"] vaut 0 dans les autres cas.
Expression1, on connaît : c'est _userdata["user_level"]
Expression2, on connait aussi : c'est l'une des 3 valeurs que _userdata["user_level"] peut renvoyer 0, 1 ou 2.
Nous reste plus que l'opérateur de comparaison et là on a l'embarras du choix.
A- Si visiteur est différent d' un membre lambda (ou visiteur)
B- Si visiteur est un membre disposant d'accès spéciaux (admin/modo)
C- Si visiteur est admin, ou si visiteur est modo
Voilà 3 exemples de comparaisons qui fourniront toutes le même résultat.
On va exclure la 3e qui repose sur deux conditions et non une seule.
La première s'écrirait
- Code:
(_userdata["user_level"] != 0)
La seconde s'écrira
- Code:
(_userdata["user_level"] > 0)
Et comme la valeur numérique attendue vaut 0 ou 1 ou 2, dans ce cas précis, différent de zéro ou supérieur à zéro c'est la même chose puisque la variable ne prend pas de valeurs négatives.
Au final la condition complète pourrait donner
- Code:
if(_userdata["user_level"] != 0) {
code d'insertion du bouton Vote
}
Moi non plus, je sais juste recopier ce que je vois dans d'autres sujets ou tutoriels.photoclic a écrit:je ne sais pas programmer.
Avec ces conditions j'ai parfois des résultats inattendus et si une condition ne marche pas, et bien j'en essaie une autre puisqu'une même comparaison peut s'écrire de multiples manières.
Re: Masquer un bouton aux membres et invités
Salut Neptunia- ,
hum on se trouve confronté à la Toolbar .
Le bouton peut être créé certes , mais il faudra utiliser le hack !important via la css pour la prise en compte dans la toolbar.
Et donc avec ce style il sera difficile de faire marche arrière Neptunia- même si une condition est requise il me semble.
a++
Notons au passage que Milouze utilise justement la formulation que j'avais écartée d'entrée,
en testant une double comparaison
hum on se trouve confronté à la Toolbar .
Le bouton peut être créé certes , mais il faudra utiliser le hack !important via la css pour la prise en compte dans la toolbar.
Et donc avec ce style il sera difficile de faire marche arrière Neptunia- même si une condition est requise il me semble.
a++
Invité- Invité
Re: Masquer un bouton aux membres et invités
Coucou Philippe
Je ne comprends pas ce que la toolbar vient faire la dedans.
Je disais que toi tu testais une double comparaison
Si visiteur = admin ou visiteur = modo, alors
Alors que moi j'utilisais une seule comparaison
Si visiteur n'est pas un membre (ou invité) alors.
Mais me semblait que les deux approches fonctionnaient ! Ce n'est pas le cas ?
Je ne comprends pas ce que la toolbar vient faire la dedans.
Je disais que toi tu testais une double comparaison
Si visiteur = admin ou visiteur = modo, alors
Alors que moi j'utilisais une seule comparaison
Si visiteur n'est pas un membre (ou invité) alors.
Mais me semblait que les deux approches fonctionnaient ! Ce n'est pas le cas ?
Re: Masquer un bouton aux membres et invités
Re coucou chère amie ,
hum
On parle bien de la Toolbar .
Ensuite je ne vois pas comment mettre ce bouton autrement qu'avec la demande du topic:
Mais comme tu le soulignes on peut aussi mettre ce script :
Ne sachant pas réellement si cette condition est vraiment fiable, je me sers des user_level groupe admin et modo ( 1 et 2)
a++
hum
- Code:
.insertBefore( '#fa_menu' );
On parle bien de la Toolbar .
Ensuite je ne vois pas comment mettre ce bouton autrement qu'avec la demande du topic:
Si admin ou modo, alors
Je souhaiterais donc masquer le 3ième bouton "On vote" aux invités et membres, pour qu'il ne soit vu que par les modérateurs et administrateurs.
Mais comme tu le soulignes on peut aussi mettre ce script :
- Code:
$(function(){if(_userdata["user_level"] != 0)
$(function(){
$('<a href="http://photoclic.forum-pro.fr/f12-photovote"style="margin-right:380px;">
<img src="http://2img.net/i/fa/prosilver/icon_portal.png"/>On vote</a>').insertBefore( '#fa_menu' );
})});
Ne sachant pas réellement si cette condition est vraiment fiable, je me sers des user_level groupe admin et modo ( 1 et 2)
a++
Invité- Invité
Re: Masquer un bouton aux membres et invités
Bonjour Milouze et Neptunia.
Un grand merci pour ce cours magistral bien expliqué et qui me fait comprendre les choses.
J'ai essayé tout ça, mais ça ne fonctionne pas, plus rien ne s'affiche dans la barre de notification.
J'ai mis le code de Milouze sans succès.
J'ai remplacé le If avec le "ou" de Milouze par le If de Neptuna avec le != 0, ça ne fonctionne pas non plus.
J'ai rajouté simplement le IF de Neptunia uniquement dans le code du vote sans compacté, rien n'y fait.
Est-ce la bonne variable en phpbb3?
Un grand merci pour ce cours magistral bien expliqué et qui me fait comprendre les choses.
J'ai essayé tout ça, mais ça ne fonctionne pas, plus rien ne s'affiche dans la barre de notification.
J'ai mis le code de Milouze sans succès.
J'ai remplacé le If avec le "ou" de Milouze par le If de Neptuna avec le != 0, ça ne fonctionne pas non plus.
J'ai rajouté simplement le IF de Neptunia uniquement dans le code du vote sans compacté, rien n'y fait.
Est-ce la bonne variable en phpbb3?
Re: Masquer un bouton aux membres et invités
Re,
tu peux faire une capture d'écran des liens javascripts, cela doit ressembler à:
Et par la même occasion le script en lui même.
a++
tu peux faire une capture d'écran des liens javascripts, cela doit ressembler à:
Et par la même occasion le script en lui même.
a++
Invité- Invité
Re: Masquer un bouton aux membres et invités
Nos messages se croisent désolé.
Re: Masquer un bouton aux membres et invités
Re,
pas grave,
tu peux donner les renseignement ci-dessous :
a++
pas grave,
tu peux donner les renseignement ci-dessous :
Milouze14 a écrit:Re,
tu peux faire une capture d'écran des liens javascripts, cela doit ressembler à:
Et par la même occasion le script en lui même.
a++
a++
Invité- Invité
Re: Masquer un bouton aux membres et invités
Re,
Le soucis est qu'on place les boutons avant
essayes de modifier ton script ainsi:
a++
Reste plus que l'affichage décalé.
Le soucis est qu'on place les boutons avant
- Code:
.insertBefore( '#fa_menu' );
essayes de modifier ton script ainsi:
- Code:
$(function(){
$(function(){
$('
<span class="M14_navTol">
<a href="http://photoclic.forum-pro.fr/"style="margin-left:30px;">
<img src="http://2img.net/i/fa/prosilver/icon_home.gif"/>Accueil</a>
<a href="/portal"style="margin-left:30px;">
<img src="http://2img.net/i/fa/icon_mini_portal.gif"/>Portail</a>
</span>
').insertAfter( '#fa_share' );
})});
$(function(){if(_userdata["user_level"] != 0)
$(function(){
$('<a href="http://photoclic.forum-pro.fr/f12-photovote"style="margin-left:30px;">
<img src="http://2img.net/i/fa/prosilver/icon_portal.png"/>On vote</a>').insertAfter( ' .M14_navTol a:last' );
})});
a++
Invité- Invité
Re: Masquer un bouton aux membres et invités
Milouze,
Suis rassurée, oui je focalisais uniquement sur la condition et ma remarque comme quoi tu utilisais une approche que j'avais écartée (considérant que photoclic n'est pas assez à l'aise avec une condition simple pour l'embrouiller avec la vérification consécutive de deux conditions) n'était qu'une remarque visant à démontrer à photoclic que l'on pouvait écrire cette condition de plusieurs manières.
Nous sommes au moins deux à penser que nos deux conditions faisaient la même chose et pourtant une seule fonctionne sans que l'on soit capables de dire pourquoi, ce qui corrobore mes dires :
photoclic,
1/ Les si de Milouze et les ou de Neptunia- ne sont là que pour expliquer le raisonnement, autant raisonner en français.
Mais pour ce qui concerne le javascript, il faut uniquement considérer ce qu'on place entre balises code if pour si, || pour ou, etc etc.
2/ toujours tester extensivement ce qu'on propose avec tout type de compte (admin, modo, membre, déconnecté) parce que
- de notre côté on ne pensera pas toujours à explorer tous les cas de figure
- de ton côté, tu ne pensera pas toujours aux conséquences de ta demande.
Exemple, tu ouvres une galerie à un membre et lui permet de verrouiller ses sujets dans sa galerie. Pour toi c'est un membre avec une galerie personnelle, pour nous c'est un modérateur qui peut potentiellement voir les ip, bannir les membres et accessoirement voter là où tu pensais qu'il ne pourrait pas.
Suis rassurée, oui je focalisais uniquement sur la condition et ma remarque comme quoi tu utilisais une approche que j'avais écartée (considérant que photoclic n'est pas assez à l'aise avec une condition simple pour l'embrouiller avec la vérification consécutive de deux conditions) n'était qu'une remarque visant à démontrer à photoclic que l'on pouvait écrire cette condition de plusieurs manières.
Nous sommes au moins deux à penser que nos deux conditions faisaient la même chose et pourtant une seule fonctionne sans que l'on soit capables de dire pourquoi, ce qui corrobore mes dires :
ainsi que les tiens :Neptunia- a écrit:Avec ces conditions j'ai parfois des résultats inattendus et si une condition ne marche pas, et bien j'en essaie une autre puisqu'une même comparaison peut s'écrire de multiples manières.
Milouze14 a écrit:Ne sachant pas réellement si cette condition est vraiment fiable, je me sers des user_level groupe admin et modo ( 1 et 2)
photoclic,
1/ Les si de Milouze et les ou de Neptunia- ne sont là que pour expliquer le raisonnement, autant raisonner en français.
Mais pour ce qui concerne le javascript, il faut uniquement considérer ce qu'on place entre balises code if pour si, || pour ou, etc etc.
2/ toujours tester extensivement ce qu'on propose avec tout type de compte (admin, modo, membre, déconnecté) parce que
- de notre côté on ne pensera pas toujours à explorer tous les cas de figure
- de ton côté, tu ne pensera pas toujours aux conséquences de ta demande.
Exemple, tu ouvres une galerie à un membre et lui permet de verrouiller ses sujets dans sa galerie. Pour toi c'est un membre avec une galerie personnelle, pour nous c'est un modérateur qui peut potentiellement voir les ip, bannir les membres et accessoirement voter là où tu pensais qu'il ne pourrait pas.
Re: Masquer un bouton aux membres et invités
Un grand merci à vous 2 pour ce cours magistral et ludique qui je pense va en intéresser plus d'un..
Sujet résolu.
j'ai tout compris.
C'est en place et ça fonctionne au poil.
J'ai un autre problème tout aussi intéressant à vous soumettre, et malgré le cours de Neptunia je n'y arrive pas
Je le poste tout à l'heure.
Sujet résolu.
j'ai tout compris.
C'est en place et ça fonctionne au poil.
J'ai un autre problème tout aussi intéressant à vous soumettre, et malgré le cours de Neptunia je n'y arrive pas
Je le poste tout à l'heure.
Sujets similaires
» Masquer aux invités la colonne "derniers messages" sur l'accueil uniquement
» Comment faire pour obtenir un bouton qui permet aux membres de masquer les widgets du forum ?
» masquer le header aux invités
» Masquer un iframe pour les invités
» Masquer les liens uniquement aux invités sans avoir à commenter
» Comment faire pour obtenir un bouton qui permet aux membres de masquer les widgets du forum ?
» masquer le header aux invités
» Masquer un iframe pour les invités
» Masquer les liens uniquement aux invités sans avoir à commenter
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