La tambouille des râleuses
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Cartes Pokémon EV6.5 : où trouver le ...
Voir le deal

Aller en bas
Lester
Lester
Messages : 8

Affichage des notifications dans une barre personnalisées Empty Affichage des notifications dans une barre personnalisées

Mar 3 Oct 2023 - 19:10
Bonjour, bonjour !  bounce

Je viens demander de l’aide pour un javascript récalcitrant…
A savoir que c’est ma première plongée dans le langage javascript donc des choses m’ont probablement échappé. Je précise que notre forum est en phpbb2.

Raison de la demande (correction de bug, demande d'avis sur un code, autre chose ?) : Aide sur un javascript que j'ai construit à partir du tutoriel de Mäven + d'un autre js externe

Solutions déjà essayées : j'ai tenté plusieurs combinaisons différentes, enlevé et rajouté des éléments sans résultat, j'y ai passé la journée je ne saurais pas lister tous mes essais mais je tâtonne en javascript alors je ne sais même pas si ce que je cherche à faire est possible

But à atteindre : Alors, voilà : le but est d’afficher le nombre de nouvelles notifications dans la barre de navigation. Notre barre de navigation est « faite maison » dans le overall_header, ce n’est pas la barre de forumactif. Un javascript trouvé sur le forum des forums (malheureusement non crédité) nous a permis de faire apparaître le nombre de nouveaux messages privés dans notre barre de navigation en affichant : 1 message, 2 messages, etc. Je voulais donc faire la même chose pour les notifs… et c’est là que ça coince. (J’ai bien lu la politique sur les codages venus d’ailleurs et j’insiste sur le fait que ce n'est pas sur ce javascript trouvé sur le fdf que je viens demander de l’aide et il fonctionne très bien, mais bien sur celui que j’ai essayé moi-même de construire en miroir.)

Code : Voici, avec tout plein d'explications sur ce que je vous montre et comment j'en suis arrivée à ça.


Tout d’abord, je me suis servie de ce tuto ici pour activer et masquer la toolbar.  

Puis, j’ai ajouté un bouton pour accéder aux notifications dans notre barre de navigation qui est directement dans notre template overall_header, sur le même modèle que nos autres boutons dont le bouton des messages privés, ce qui donne ceci :


Jusque là, tout fonctionne : le bouton notifications apparaît bien, et emmène à la bonne page lorsqu’on clique dessus. J’ai donc essayé de décortiquer pour comprendre le javascript pour la messagerie, et celui du tutoriel de Mäven qui doit permettre d’afficher le nombre de notifs dans la barre de navigation, en me disant que si je pouvais comprendre comment faire ça alors je pourrais sûrement afficher le nombre de notifs où je veux comme le nombre de messages.

Voici le javascript du fdf concernant les messages (il est juste là à titre indicatif, je ne rencontre pas de problème avec que je chercherais à régler) :
Spoiler:

Tout d'abord, j’ignore la partie blinker dont je ne veux pas. Je mets le jQuery ready pour charger d'abord le reste de la page. Ensuite je tente de récupérer le nombre de nouvelles notifications pour en faire une variable grâce au tuto de Mäven, et l’afficher dans le bouton sur le modèle 1 notification, 2 notifications… comme le fait le JS du forum des forums sur les messages. Enfin j’ajoute la partie du JS de Mäven qui permet de chercher les nouvelles notifs.

Je me retrouve avec ceci :

Spoiler:

… Et ça ne fonctionne pas.  What a Face J’ai essayé beaucoup de combinaisons différentes sans résultat donc je dois me rendre à l'évidence et venir appeler à l’aide…. please please ! I love you I love you
Mäven
Mäven
Râleuse (Admin)
Informations : Très peu présente en ce moment Sad
----
Idea Viens papoter avec nous sur le discord

Messages : 4055
https://tambouille-raleuses.forumactif.com/

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mar 3 Oct 2023 - 22:09
Hello =)

Pour notre politique, c'est surtout qu'on ne souhaite pas juste corriger des trucs foireux d'ailleurs. Ici tu as cherché donc pas de soucis Smile

Je vais diviser les sujets.

Là comme ça, j'ai une petite idée d'où ça peut venir, mais sans tester et sans tout le template ça va être compliqué Smile

Peux-tu me fournir par MP un compte sans aucun droit sur ton forum ainsi que l'url du forum ?
N'hésite pas à l'envoyer aussi à Miettes comme ça elle pourra regarder si elle le souhaite Wink

Je pourrais ainsi faire des tests pour trouver l'origine réelle du souci Smile

Par contre, question en plus, pourquoi ne pas utiliser la façon de récupérer le nombre de notif directement de mon tutoriel ? J'ai p'tet loupé un truc mais je ne vois pas l'intérêt de le récupérer autrement.
Lester
Lester
Messages : 8

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 4 Oct 2023 - 11:06
Merci beaucoup pour la réponse !
Je vous envoie ça par mp tout de suite.
Vous voulez aussi le c/c du template ?

Pour la façon de récupérer le nombre de notifs, j'ai essayé les deux sans plus de résultat avec une façon que l'autre Affichage des notifications dans une barre personnalisées 1f625
Mäven
Mäven
Râleuse (Admin)
Informations : Très peu présente en ce moment Sad
----
Idea Viens papoter avec nous sur le discord

Messages : 4055
https://tambouille-raleuses.forumactif.com/

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 4 Oct 2023 - 21:54
Bonsoir ! Smile

Non pas besoin de template Wink Juste la console me suffit.

Il y a un premier problème ici :
Code:
var newNotifs= +nNotifs.attr("title").replace(/^([1-9][0-9]*) .*$/,"$1");
dans ta variable nNotifs tu as un texte, pas de code HTML ou autre. Tu ne peux donc pas récupérer le title Wink
De plus, j'avoue que je ne comprends pas ce que tu cherches à faire dans cette regex :/ Tu saurais me dire ?

Pour la suite, je vais juste l'enlever Wink

Code:
 $("#notif").attr("id","new_notif").text(""+newNotifs+" notification"+(n>1?"s":""));
ici tu n'as pas de n dans le reste de ton code.

Je dois malheureusement arrêter mes tests parce que ça s'est mis à buguer sur votre forum :/
Il y a un souci au niveau d'un des JS que je te mets en hide.

Si jamais ça se débloque dans la soirée, je continue de t'expliquer le tout et te donne le JS final Wink
Sinon, essaie quand tu peux de résoudre le problème avec la regex et avec le n Wink Et ça refonctionnera, moi j'ai bien eu les notifs pendant un petit moment =)
Mäven
Mäven
Râleuse (Admin)
Informations : Très peu présente en ce moment Sad
----
Idea Viens papoter avec nous sur le discord

Messages : 4055
https://tambouille-raleuses.forumactif.com/

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 4 Oct 2023 - 22:13
Hop je double post pour que tu vois Smile

Du coup, j'ai supposé que la regex c'était pour retirer les parenthèses pour les notifs. Et que le n qui était à la fin était en fait le nombre de notif récupéré.
Du coup, voilà ce qu'on va faire :
On va d'abord retirer les parenthèses :

Ensuite, on va le transformer en interger pour pouvoir le comparer à 1.


Ce qui nous donne en code final :



Attention cependant, la mise à jour ne se fera pas toutes les 30 secondes parce que ton id "notif" disparait au profit de "new_notif", je te conseille de passer par des classes et de les ajouter Wink
Lester
Lester
Messages : 8

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 4 Oct 2023 - 22:56
Tout d'abord mille mercis pour ton aide !!

Pour le premier point : oui je cherchais à récupérer uniquement le chiffre correspondant aux nouvelles notifications sans tout le reste autour, mais j'étais pas trop sûre de comment j'essayais de faire ça, je le comprends mieux quand tu l'expliques que quand j'essayais de le faire Laughing

et ensuite OUI EFFECTIVEMENT ce n !!! Maintenant que tu le dis c'était quand même énorme de louper ça ! J'ai bêtement supposé que ça correspondait au chiffre récupéré et pas à la variable de l'autre JS clown  M E R C I !!

Merci aussi d'avoir repéré d'où vient l'erreur dans l'autre JS, on s'arrachait les cheveux dessus depuis un moment, maintenant je sais où chercher Very Happy

Par contre tu m'as perdue avec les classes, tu veux dire faire une classe pour le bouton sans nouvelle notif et une pour le bouton avec nouvelle notif ? (genre avec un display none ?) Ça permettrait de se défaire des id et mettre à jour toutes les 30 secondes ?

En tout les cas encore merci I love you
Mäven
Mäven
Râleuse (Admin)
Informations : Très peu présente en ce moment Sad
----
Idea Viens papoter avec nous sur le discord

Messages : 4055
https://tambouille-raleuses.forumactif.com/

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 4 Oct 2023 - 23:06
Aucun souci pour l'aide =) Si vous ne trouvez pas pour l'autre JS n'hésite pas à demander. Et surtout, sers toi de la console elle donne souvent beaucoup de réponses Smile

Pour les classes, je veux surtout dire qu'en fait le mieux serait de ne pas remplacer l'id.
Tu peux tout simplement transformer ton "new_notif" en classe et faire un add class quand il y a une nouveauté. Ca permet de pouvoir toujours surveiller ton id, et que ça se mette à jour correctement Smile
Est-ce que c'est un peu plus clair ou pas du tout ?
Je peux te faire un exemple =)
Lester
Lester
Messages : 8

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 4 Oct 2023 - 23:48
Super je viens de l'installer et tout fonctionne (et en prime j'ai tout compris) !

Merci beaucoup pour l'autre, je me pencherai dessus dans les jours qui viennent et je n'hésiterai pas à revenir par ici si je galère I love you

C'est plus clair pour les classes mais je veux bien un exemple quand même si ça ne te dérange pas. Et sinon en gardant simplement les mêmes données pour les deux appellations, donc sans changer l'id et sans faire de nouvelle classe, ça changerait quand même le texte pour afficher le nombre de nouvelles notifs ?

Edit: Je me permets un édit parce que j'ai rencontré un nouveau souci Sad

A savoir que pour éviter le problème du nouvel id qui, au final, ne me servait rien, j'ai supprimé cette partie du code :
Code:
.attr("id","new_notif")
et j'ai remis l'intervalle à toutes les secondes plutôt que toutes les 30 secondes.
(J'ai rencontré le problème après ça, mais il persiste en remettant ces données comme elles étaient au départ)

Voilà le hic : je me suis rendu compte que quand je met ce javascript sur toutes les pages.... eh bien ça fait planter certains de nos autres javascripts (au moins 4 d'entre eux, peut-être encore d'autres, certains qui s'appliquent sur toutes les pages et d'autres uniquement sur les sujets). Pour le moment j'ai pallié au problème en ne l'appliquant qu'à l'index, sous forums et sujets, ainsi il fonctionne sur ces pages et les autres js fonctionnent partout, mais j'aimerais bien pouvoir le mettre sur toutes les pages quand même. Tout fonctionne normalement quand j'enlève ce JS ou que je ne l'applique pas à toutes les pages. Je ne m'y connais vraiment pas assez pour comprendre ce qui interagit entre les javascripts...

Peut-être n'est-ce pas la faute de ce JS mais d'un autre. Je pense avoir réglé le problème que @Mäven nous avait signalé sur un autre javascript, mais peut-être que je n'ai pas réussi et que c'est encore ça le problème ? Je suis un peu perdue, à l'aide pleure
Mäven
Mäven
Râleuse (Admin)
Informations : Très peu présente en ce moment Sad
----
Idea Viens papoter avec nous sur le discord

Messages : 4055
https://tambouille-raleuses.forumactif.com/

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Mer 11 Oct 2023 - 21:58
Hello =)

C'est plus clair pour les classes mais je veux bien un exemple quand même si ça ne te dérange pas. Et sinon en gardant simplement les mêmes données pour les deux appellations, donc sans changer l'id et sans faire de nouvelle classe, ça changerait quand même le texte pour afficher le nombre de nouvelles notifs ?
Oui bien sûr, la classe / l'id servent juste pour ajouter du style Wink

Pour l'exemple, je vais essayer de t'en faire un (mais là je vais aller dodo alors je vais d'abord regarder la suite de ton message =) )

Alors, oui, tu dois avoir un JS qui rentre en conflit.
Voilà ce que tu peux faire pour déterminer lequel pose souci :
- tu désactive tous tes javascript un par un, SAUF celui des notifs, que tu vas mettre sur toutes les pages.
- Tu les réactives tous un par un et tu tests voir si ça fait planter ou pas.

En faisant comme ça tu as de grandes chances de trouver celui qui fait buguer.
Si ça te semble compliqué parce que tu en as trop, il va falloir que tu les active tous comme tu le souhaites + celui des notifs sur toutes les pages le temps que je puisse analyser dans la console :/
Contenu sponsorisé

Affichage des notifications dans une barre personnalisées Empty Re: Affichage des notifications dans une barre personnalisées

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Les coups de ♥ des Râleuses

Post-It des Râleuses