Problème de code pour modifier le "Qui est en ligne?" phpBB3

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

Résolu Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Lun 17 Mar 2014 - 12:52

Salut !

Bon donc je souhaitais modifier quelques champs de texte dans le Qui est en ligne? de mon forum (en phpBB3), et j'ai commencé par tester l'astuce expliquée ici.

Rien ne se passait. J'ai paaaas paniqué, je connais mon level désastreux en la matière, et j'ai donc commencé à chercher une autre solution sur le forum.

J'ai alors fouillé dans les questions déjà posées et résolues, et je suis tombée sur ce sujet. Même si même non connectée, le texte n'était pas plus modifié de mon côté, j'ai quand même testé les codes proposés (oui, je sais, je suis trop une ouf... ).

Mais là encore, échec total !  (Et comme si ça se trouve ledit second code n'est pas approprié à mon problème, c'est sans doute pas étonnant maha ! silent )

Je m'excuse donc platement pour mon incompétence et viens poster ce petit appel à l'aide directement.

Voici la tête actuelle de mon code :
Code:
;
                /* Script pour modifier le qui est en ligne sur les forums phpbb3 de forumactif */
                $(function () {
        console.log("initialisation");
                    /*Réglages ci-dessous*/
                    var t = {
                        "remplacer": ["utilisateur en ligne","Enregistré","Invisible","Invité ","Le record du nombre d'utilisateurs en ligne est de","Utilisateurs enregistrés","Membres connectés au cours des 24 dernières heures"],
                        "par": ["garde dans le camp","Courageux","Espion","Potentielle nouvelle recrue","Le plus grand nombre de gardes en éveil est de","Sentinelles qui rôdent","Combattants actifs au cours des 24 dernières heures"]
                    };
                    /*Fin réglages*/
                    $('#i_whosonline').prev().prev().nextAll().each(function () {
        console.log("element ok");
                        for (i in t.remplacer){console.log("boucle:"+i);$(this).html($(this).html().replace(t.remplacer[i], t.par[i]));}
                    })
                });

Merci beaucoup par avance à celui/celle qui se penchera sur mon soucis !

EDIT : Avec l'adresse du forum, c'est sans doute mieux : http://seckratt.forumactif.org/

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Mr Lucas le Ven 21 Mar 2014 - 19:48

Bonjour,
Warning Il faut que le texte qui soit à remplacer soit exactement à identique pour que ça marche !

Mr Lucas
*

Masculin
Messages : 39
Inscrit(e) le : 20/03/2014

http://blabla-geek.forumactif.org/
Mr Lucas a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Ven 21 Mar 2014 - 20:07

Bonjour ^^


J'ai installé votre code JS sur un forum test où je suis le seul à aller et cela marche impec.

Ne connaissant pas spécialement ce script (moi j'ai accès aux templates), à vue de nez je dirai que vous avez géré les singuliers mais pas les pluriels.

Vous remplacez "utilisateur en ligne" mais vous ne prévoyez rien pour "utilisateurs en ligne"

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Sam 22 Mar 2014 - 9:32

Merci à vous deux pour vos réponses !

Mr Lucas > J'ai travaillé par copier/coller il me semble, si j'ai fait une erreur que vous voyez, n'hésitez pas à me la souligner, parce que je ne suis pas sûre de comprendre votre conseil. Pour moi le texte est à l'identique des mots que j'ai choisi de changer.  Confused 


AoF-Neptune > Misère... Le fait que ce même code fonctionne sur votre forum ne me rassure pas des masses sur mon incompétence en la matière XD Alors j'ai testé en ajoutant les pluriels là où je crois qu'ils sont susceptibles d'apparaître (je ne me souviens plus très bien) mais ça ne marche pas davantage (et je ne suis même pas sûre que c'est comme ça qu'on ajoute des pluriels sur ce code).

Et ça ne fonctionne toujours pas (mais plus je vais retoucher des trucs par moi-même, plus ça risque d'être normal que ça ne fonctionne pas  What a Face )

La tête de mon code maintenant :

Code:
;
                /* Script pour modifier le qui est en ligne sur les forums phpbb3 de forumactif */
                $(function () {
        console.log("initialisation");
                    /*Réglages ci-dessous*/
                    var t = {
                        "remplacer": ["utilisateur en ligne","utilisateurs en ligne","Enregistré","Enregistrés","Invisible","Invisibles","Invité","Invités","Le record du nombre d'utilisateurs en ligne est de","Utilisateurs enregistrés","Membres connectés au cours des 24 dernières heures"],
                        "par": ["garde dans le camp","gardes dans le camp","Courageux","Courageux","Espion","Espions","Potentielle nouvelle recrue","Potentielles nouvelles recrues","Le plus grand nombre de gardes en éveil est de","Sentinelles qui rôdent","Combattants actifs au cours des 24 dernières heures"]
                    };
                    /*Fin réglages*/
                    $('#i_whosonline').prev().prev().nextAll().each(function () {
        console.log("element ok");
                        for (i in t.remplacer){console.log("boucle:"+i);$(this).html($(this).html().replace(t.remplacer[i], t.par[i]));}
                    })
                });

Mais bon, si le code précédent fonctionnait sur un autre forum, le problème n'est peut-être pas le code lui-même, mais ma manière de l'avoir installé ? Voilà la tête que ça a sur ma page :



Si ça peut aider...

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Sam 22 Mar 2014 - 9:44

Comme je l'ai déjà indiqué, je ne connais pas le fonctionnement exact, mais par contre je connais la méthode via template.

Je pense donc qu'il faudrait remplacer d'abord les pluriels.

Exemple : Tu remplace d'abord "Enregistré" par courageux, ce qui veut dire que tu va remplacer "Enregistré"s par courageuxs et lorsque tu va vouloir remplacer le pluriel il ne trouvera évidemment plus rien à remplacer.

Ton code marchait sur mon forum test précisémment parce que j'étais seul, donc il n'y avait que du singulier.

Si tu veux connaître les chaînes au pluriel, le QEEL de ce forum d'entraide est un bon modèle.

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Sam 22 Mar 2014 - 10:03

AoF-Neptune a écrit:Comme je l'ai déjà indiqué, je ne connais pas le fonctionnement exact, mais par contre je connais la méthode via template.

Oui, oui, j'ai bien compris, et je vous remercie de vous y pencher quand même  Smile . Cependant je continue de poster l'avancée de mon tâtonnement, des fois qu'un autre membre qui connaitrait le fonctionnement passe ici et voit où je me plante.
Après je veux bien me pencher sur le template, mais j'ai cru lire que sur les phpBB3 c'était pas un système qu'on pouvait utiliser ? Me suis peut-être trompée...

(Bon ! J'ai tout retranscrit au pluriel et au singulier et ça ne fonctionne pas. Je vais tester en commençant par remplacer les pluriels, comme vous disiez.)

EDIT : toujours aucun effet de mon côté, maintenant mon code ressemble à ça :

Code:
;
                /* Script pour modifier le qui est en ligne sur les forums phpbb3 de forumactif */
                $(function () {
        console.log("initialisation");
                    /*Réglages ci-dessous*/
                    var t = {
                        "remplacer": ["utilisateurs en ligne","utilisateur en ligne","Enregistrés","Enregistré","Invisibles","Invisible","Invités", "Invité","Le record du nombre d'utilisateurs en ligne est de","Utilisateurs enregistrés","Utilisateur enregistré","Membres connectés au cours des 24 dernières heures","Membre connecté au cours des 24 dernières heures"],
                        "par": ["gardes dans le camp","garde dans le camp","Braves","Brave","Espions","Espion","Potentielles nouvelles recrues","Potentielle nouvelle recrue","Le plus grand nombre de gardes en éveil est de","Sentinelles qui rôdent","Sentinelle qui rôde","Combattants actifs au cours des 24 dernières heures","Combattant actif au cours des 24 dernières heures"]
                    };
                    /*Fin réglages*/
                    $('#i_whosonline').prev().prev().nextAll().each(function () {
        console.log("element ok");
                        for (i in t.remplacer){console.log("boucle:"+i);$(this).html($(this).html().replace(t.remplacer[i], t.par[i]));}
                    })
                });

Je suis en train de me demander si le soucis n'est pas situé après... Une fois qu'on a validé, il ne faut pas faire autre chose, par hasard ? Je vois que dans le tableau récap des javascripts du forum, chacun génère une URL. On doit en faire quelque chose de cette URL ? La copier quelque part ou un truc du genre par exemple ???? Parce que je me contente de valider le code, mais ça ne suffit peut-être pas >_>


Dernière édition par ludimie le Sam 22 Mar 2014 - 10:15, édité 1 fois

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Sam 22 Mar 2014 - 10:08

Nan, tu n'aura pas accès aux templates en phpBB3, mais j'en parle parce qu'au final le résultat est le même.

Un autre truc qui me chiffonne dans ton code
Tu remplace d'abord Enregistrés et un peu plus loin tu remplace utilisateurs enregistrés et logiquement tu ne trouvera rien vu qu'enregistrés a déjà été remplacé.

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Sam 22 Mar 2014 - 10:18

J'ai ajouté un EDIT à mon message précédent, nos messages se sont télescopés.

Effectivement, j'avais pas songé à ça. Je vais modifier et je reviens ...

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Sam 22 Mar 2014 - 10:30

Membres connectés -> A remplacer par Combattants actifs
-> Cette occurence n'apparait jamais au singulier.
-> Remplacer "au cours des 24 dernières heures" est contre productif pour deux raisons : 1/ Tu remplace par la même chose 2/ Si tu change le nombre d'heures sur le PA, la chaîne ne sera plus trouvée et donc ne sera plus remplacée.


Question bête :
Panneau Admin / Modules / Gestion Javascript
Activer la gestion des codes Javascript : j'ose espérer que c'est sur Oui

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Lixyr le Sam 22 Mar 2014 - 13:03

AoF-Neptune a écrit:Membres connectés -> A remplacer par Combattants actifs
-> Cette occurence n'apparait jamais au singulier.
-> Remplacer "au cours des 24 dernières heures" est contre productif pour deux raisons : 1/ Tu remplace par la même chose 2/ Si tu change le nombre d'heures sur le PA, la chaîne ne sera plus trouvée et donc ne sera plus remplacée.

Pour ce problème on peut mettre une expression régulière.
Membres connectés au cours des ([0-9]+[0-9]*) dernières heures :
=> mettre la phrase en entière.





Lixyr
Aidactive
Aidactive

Féminin
Messages : 5595
Inscrit(e) le : 22/07/2010

http://forum-test-in-lixyr.rpg-dynasty.com/
Lixyr a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Dim 23 Mar 2014 - 10:33

Lixyr > Merci beaucoup pour ton conseil ! Comme je suis déjà infoutue de faire marcher un code pas trop complexe j'ai préféré juste l'enlever pour ne pas encore compliquer la chose, mais c'est bon à savoir !  Smile 

AoF-Neptune > Oui, ça c'est bon, je l'ai bien coché (ouf !) !

Alors j'ai viré le singulier de "membres connectés" et j'ai essayé de faire attention à remplacer les mêmes mots, par les mêmes autres. De fait, j'ai tout énormément simplifié. Ça ne fonctionne toujours pas, mais bon.
Voici où j'en suis actuellement :

Code:
;
                /* Script pour modifier le qui est en ligne sur les forums phpbb3 de forumactif */
                $(function () {
        console.log("initialisation");
                    /*Réglages ci-dessous*/
                    var t = {
                        "remplacer": ["utilisateurs","utilisateur","Enregistrés","Enregistré","Invisibles","Invisible","Invités", "Invité","Membres connectés"],
                        "par": ["gardes","garde","Sentinelles","Sentinelle","Espions","Espion","Potentielles nouvelles recrues","Potentielle nouvelle recrue","Combattants actifs"]
                    };
                    /*Fin réglages*/
                    $('#i_whosonline').prev().prev().nextAll().each(function () {
        console.log("element ok");
                        for (i in t.remplacer){console.log("boucle:"+i);$(this).html($(this).html().replace(t.remplacer[i], t.par[i]));}
                    })
                });

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Dim 23 Mar 2014 - 10:49

Petite remarque

Le javascript est sensible à la casse.

Autrement dit :
utilisateurs et Utilisateurs sont deux mots différents.

Une fois compris cela vous devriez découvrir un autre défaut de votre dernier code.

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Dim 30 Mar 2014 - 10:15

Désolée je ne vois pas... :/

Mes deux "utilisateur" et "utilisateurs" ont tous les deux un "u" minuscule. Après je sais que dans le QEEL il y a un autre "Utilisateurs" avec un "u" majuscule, mais dans le sens où je ne l'ai pas mis dans le code, si ça devait merdouiller entre les majuscules et minuscules, celui-là resterait en "Utilisateurs" pendant que les autres passeraient en "garde" et "gardes".
Or de toute façon, même ceux avec "u" minuscules ne fonctionnent pas.
Le problème vient d'ailleurs, mon code initial fonctionnait sur ton forum test, c'est ce qui me chagrine depuis le départ.

Je vais clore ce sujet, j'aurai pas assez de temps dans les mois qui viennent pour m'y pencher et je veux pas polluer inutilement la catégorie.
Je mets "résolu" même si ça ne l'est pas ??? (Pour le ranger ailleurs.)

Merci infiniment d'avoir essayé de m'aider en tout cas.  Smile 

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Dim 30 Mar 2014 - 11:22

Je viens de vérifier sur votre forum et ça semble fonctionner correctement !

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par ludimie le Dim 30 Mar 2014 - 11:32

Hahaha oui, entre mon message de ce matin et ton passage, une amie a commencé à se pencher sur le html pour modifier le QEEL.
Mais pour l'instant ça ne fonctionne toujours pas chez moi, même si chez elle (et visiblement chez toi) ça s'affiche..........

Je passe le sujet en résolu, je pense qu'elle va finir par trouver en passant par le html (et au pire, tant pis, je garderai le qeel de base)

ludimie
Nouveau membre

Féminin
Messages : 11
Inscrit(e) le : 22/01/2007

http://seckratt.forumactif.org/
ludimie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de code pour modifier le "Qui est en ligne?" phpBB3

Message par Neptunia le Dim 30 Mar 2014 - 11:35

Bah là je ne vois plus rien, le javascript a du être retiré, mais c'était sur la bonne voie.

Neptunia
+ Hyperactif +

Féminin
Messages : 10387
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum