[Réglé] [Recherche] Nombre de sujets dans le Qui est en ligne ?

Voici le forum libre concernant les MODs !

Pas de support dans ce forum

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

Attention, aucun support de MODs n'est donné dans ce forum.

[Réglé] [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 29 Juin 2008 à 14:34

Bonjour,

J'aimerais beaucoup connaitre un MOD, ou un simple hack, une astuce etc. qui me permettent de rajouter le nombre de sujets total du forum dans le "Qui est en ligne ?"
Normalement cela doit être tout simple puisque le nombre de sujet est déjà compté et affiché dans les stats du forum dans le panneau d'admin.
Je voudrais que cela soit affiché comme ceci :
Nos membres ont posté un total de X messages dans Y sujets.


J'ai essayé tout seul mais ne connaissant pas du tout le fonctionnement du code de phpbb je n'y suis pas parvenu. :oops:

Merci d'avance ! :D
Modifié en dernier par Yetix le 02 Juil 2008 à 15:18, modifié 1 fois.
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 30 Juin 2008 à 22:25

UP ! :D

Vous n'allez pas me faire croire que personne ne sait le faire ? O_o"
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar ArctaOuik » 01 Juil 2008 à 08:35

Hello,
Comme j'ai fais un peu de recherche sur ce sujet déjà, voilà ce que j'ai pu trouvé, en espérant que cela te soit utile.

Si tu utilises le template Subsilver, dans le fichier admin/index_body.tpl tu dois pouvoir trouver cette ligne
Code: Tout sélectionner
<td class="row2"><b>{NUMBER_OF_TOPICS}</b></td>

Si j'ai bien compris son utilité, c'est elle qui permet de récupérer la totalité des sujets qui se trouvent sur ton forum. Ainsi, je pense que tu peux te servir de cette variable pour modifier l'affichage de la box "Qui est en ligne ?" du bas de page.

Dans le reste de mes recherches, j'ai également trouvé que la box était définie dans le fichier index_body.tpl, mais cette fois-ci ce fichier se trouve directement dans le dossier Subsilver.
Cherche dans ce fichier la ligne suivante.
Code: Tout sélectionner
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>

Elle doit correspondre à l'affichage "Nos membres ont posté un total de X messages. Nous avons Y membres enregistrés. L'utilisateur le plus récent est Z"

Voilà j'espère avoir pu t'être utile avec cette réponse.
Membre de la Guilde Abyssal sur le serveur Elune - World of Warcraft
Webmaster du Forum de la Guilde
Legion Master d'Abyssal sur le serveur Suthran - Aion
Webmaster du Forum de la Légion
ArctaOuik
Posteur néophyte
Posteur néophyte
 
Messages: 37
Enregistré le: 12 Mar 2008 à 16:43

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 02 Juil 2008 à 12:21

Merci, j'avais déjà trouvé la ligne dans le "Qui est en ligne ?", mais je n'arrivais pas à trouver la variable du nombre de sujets. :wink:
Maintenant, il y a un autre problème, comment faire en sorte que cela rajoute le bout de texte : "dans Y sujets", je crois qu'il faut aller faire un tour dans les fichiers lang...

As tu réussi à faire cela ? L'as-tu déjà testé ? :)

Merci encore !
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar ArctaOuik » 02 Juil 2008 à 13:56

Hello.

Pour répondre à tes deux questions, n'ayant pas l'utilité d'un tel affichage, je n'avais même pas essayé d'aller plus loin dans les pistes que je t'ai donné ;) Par conséquent, je n'ai pas pu réussir ni tester tout ça.

En tout cas, je continue quand même à regarder un peu pour ton problème car j'en apprends autant que toi sur le fonctionnement des différents fichiers en faisant les recherches.
Pour le moment, pour afficher "dans Y sujets" je n'ai qu'une solution barbare et moche (pas taper les pro du code et de phpbb :D) à te proposer.

Donc dans index_body.tplsur , tu pourrais toucher à cette ligne :
Code: Tout sélectionner
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>

et la remplacer par un truc du style :
Code: Tout sélectionner
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS} sur {NUMBER_OF_TOPICS} sujets<br />{NEWEST_USER}</span>


Comme dit juste avant, c'est une méthode d'affichage des plus barbare et moche à mon avis, mais n'ayant pas encore pris le temps de comprendre comment marche le fichier language/lang_french/lang_main.php je ne peux te proposer que cette piste. Dès que je comprends mieux tout ça, je reviens vers toi pour t'apporter une réponse un peu plus précise et plus propre à mon gout ..

A part ça, c'est un plaisir de pouvoir aider pour une fois (plutôt que ça soit le contraire :P)
Membre de la Guilde Abyssal sur le serveur Elune - World of Warcraft
Webmaster du Forum de la Guilde
Legion Master d'Abyssal sur le serveur Suthran - Aion
Webmaster du Forum de la Légion
ArctaOuik
Posteur néophyte
Posteur néophyte
 
Messages: 37
Enregistré le: 12 Mar 2008 à 16:43

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 02 Juil 2008 à 14:26

Moi aussi j'ai pu aider pour la première fois ici ! Quand j'ai réalisé un essai de traduction. :wink:

J'avais pensé à écrire directement dans le bout de code, mais bon je me disais que ça n'était pas conforme aux normes de phpbb.
Bon, à priori ça ne marche pas puisque j'ai déjà essayé d'insérer la variable {NUMBER_OF_TOPICS}... mince, je vais réessayer on ne sait jamais.

[EDIT] : J'ai testé et ça ne marche pas, seul le texte s'affiche. Peut-être que ce n'est pas la bonne variable, ou qu'elle ne renvoie rien ?
Peut-être aussi qu'il y a une étape nécessaire dans les fichiers lang que nous ne faisons pas... que c'est compliqué ! :mrgreen:
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar ArctaOuik » 02 Juil 2008 à 15:04

Me revoilà à la charge car j'ai réussi à afficher ce que tu voulais sur mon propre forum :D

Donc voici ce que j'ai dû faire :
- Dans le fichier language/lang_french/lang_main.php, cherche les lignes :
Code: Tout sélectionner
//
// Stats block text
//
$lang['Posted_articles_zero_total'] = 'Nos membres ont posté un total de <b>0</b> message'; // Number of posts
$lang['Posted_articles_total'] = 'Nos membres ont posté un total de <b>%d</b> messages'; // Number of posts
$lang['Posted_article_total'] = 'Nos membres ont posté un total de <b>%d</b> message'; // Number of posts

Si tu n'as rien de modifier dans ce fichier, le bloc commence à la ligne 167.
A la suite, rajoute :
Code: Tout sélectionner
// Ajout affichage nombre de sujets
$lang['Posted_subjects_zero_total'] = 'dans <b>0</b> sujet'; // Number of subjects
$lang['Posted_subjects_total'] = 'dans <b>%d</b> sujets'; // Number of subjects
$lang['Posted_subject_total'] = 'dans <b>%d</b> sujet'; // Number of subjects
// Fin affichage nombre de sujets


- Dans le fichier index.php, cherche les lignes :
Code: Tout sélectionner
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');

Si tu n'as rien de modifier dans ce fichier, le bloc commence à la ligne 77.
A la suite, rajoute :
Code: Tout sélectionner
// Ajout stat total topic
$total_topics = get_db_stat('topiccount');

Toujours dans le même fichier, cherche les lignes :
Code: Tout sélectionner
if( $total_posts == 0 )
{
	$l_total_post_s = $lang['Posted_articles_zero_total'];
}
else if( $total_posts == 1 )
{
	$l_total_post_s = $lang['Posted_article_total'];
}
else
{
	$l_total_post_s = $lang['Posted_articles_total'];
}

Si tu as rajouté les deux lignes précédentes, tu devrais trouver ces lignes à partir de la ligne 85.
A la suite, rajoute :
Code: Tout sélectionner
// Affichage Nombre de sujets
if( $total_topics == 0 )
{
	$l_total_topic_s = $lang['Posted_subjects_zero_total'];
}
else if( $total_topics == 1 )
{
	$l_total_topic_s = $lang['Posted_subject_total'];
}
else
{
	$l_total_topic_s = $lang['Posted_subjects_total'];
}
// Fin affichage Nombre de sujets

Toujours dans ce fichier, et pour dernière modification dans celui-ci, cherche la ligne :
Code: Tout sélectionner
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),

et rajoute à la suite :
Code: Tout sélectionner
// Affichage Nombre Sujets
'TOTAL_TOPICS' => sprintf($l_total_topic_s, $total_topics),
// Fin affichage Nombre Sujets


- Et enfin, dans le fichier templates/subsilver/index_body.tpl, cherche la ligne :
Code: Tout sélectionner
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>

et remplace là par celle-ci :
Code: Tout sélectionner
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS} {TOTAL_TOPICS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>


Voilà, sur mon forum la modification marche, reste plus qu'à voir si ça fonctionne également sur le tien ;)
Et en effet manquait bien quelque chose pour l'affichage, ma méthode brutale n'était vraiment pas la bonne :P

Tient moi au courant, et si besoin d'explications par rapport à ce que j'ai rajouté, je suis disponible également.
Membre de la Guilde Abyssal sur le serveur Elune - World of Warcraft
Webmaster du Forum de la Guilde
Legion Master d'Abyssal sur le serveur Suthran - Aion
Webmaster du Forum de la Légion
ArctaOuik
Posteur néophyte
Posteur néophyte
 
Messages: 37
Enregistré le: 12 Mar 2008 à 16:43

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 02 Juil 2008 à 15:18

C'est bon c'est installé tout marche ! :wink: Merci encore ! :D
Par contre, est ce que je me trompe ou tu t'es fait aidé ? :lol:
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar ArctaOuik » 02 Juil 2008 à 15:22

Tu te trompes, tout fait tout seul ;)
Cool que ça marche pour toi également, ce fût un plaisir.
Membre de la Guilde Abyssal sur le serveur Elune - World of Warcraft
Webmaster du Forum de la Guilde
Legion Master d'Abyssal sur le serveur Suthran - Aion
Webmaster du Forum de la Légion
ArctaOuik
Posteur néophyte
Posteur néophyte
 
Messages: 37
Enregistré le: 12 Mar 2008 à 16:43

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 02 Juil 2008 à 15:48

Ok ! Merci encore une fois ! :D

Si tu pouvais m'expliquer vite fait les étapes du code ? :mrgreen:
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar ArctaOuik » 02 Juil 2008 à 16:05

La première étape dans le fichier lang_main.php permet de gérer le message qui va s'afficher. En clair, c'est le fichier qui regroupe toutes les phrases que tu peux trouver sur ton forum, du style L'utilisateur enregistré le plus récent est Y". Donc dans ce fichier, j'ai rajouté dans la variable $lang des valeurs pour le texte que l'on souhaite afficher (gestion de 0 sujet sur le forum, du singulier et du pluriel si tu regardes bien ce que j'ai écris)

Dans le fichier index.php, la première ligne est la requête qui te permet de savoir combien de sujets sont présents sur ton forum (c'est la même requête qui permet d'afficher le nombre de sujets sur la page index de l'ACP).
La seconde modification de ce fichier est simplement un test pour savoir quelle phrase va devoir être afficher. Il permet donc de savoir si on affiche :
- soit "dans 0 sujet."
- soit "dans 1 sujet."
- soit "dans X sujets."
Ce test met cette information dans une variable qu'on utilise dans la troisième modification de ce fichier index.php.
Cette dernière phase permet de rajouter la variable TOTAL_TOPICS au tableau de variables $templates. Ce tableau contient toutes les variables qui permettent l'affichage.

Et enfin, dans le fichier index_body.tpl, on appelle la nouvelle variable qu'on a rajouté précédemment de la même manière que les autres variables, soit {TOTAL_TOPICS}. Ce qui a pour effet de rajouter le texte comme il faut là où on veut qu'il soit rajouter.

J'ai trouvé comment faire ces modifications en cherchant comment était récupérer le nombre total de message. Ce nombre total apparait dans le fichier index_body.tpl sous la variable {TOTAL_POSTS}.
A coté tu m'as parlé du fichier lang_main.php dans lequel les modifications ne devaient pas être suffisantes, donc j'ai recherché où était le texte correspondant à la variable {TOTAL_POSTS}.
Ensuite j'ai recherché comment PHP récupérait le nombre de messages, en clair quelle requête était effectuée et où elle était effectuée, ce qui m'a fait arrivé dans le fichier index.php.
Et arrivé là, je n'ai eu plus qu'à faire la démarche inverse pour rajouter la variable qui récupérait le nombre total de sujets sur le forum.

Voili voilou, bon c'est pas si vite fait que ça l'explication mais je pense que comme ça c'est plutôt clair (et puis je te prouve par la même occasion que j'ai fais ça tout seul :P).
Au plaisir.
Membre de la Guilde Abyssal sur le serveur Elune - World of Warcraft
Webmaster du Forum de la Guilde
Legion Master d'Abyssal sur le serveur Suthran - Aion
Webmaster du Forum de la Légion
ArctaOuik
Posteur néophyte
Posteur néophyte
 
Messages: 37
Enregistré le: 12 Mar 2008 à 16:43

Re: [Recherche] Nombre de sujets dans le Qui est en ligne ?

Messagepar Yetix » 02 Juil 2008 à 17:26

Oui merci ça m'éclaire vraiment !

Si j'avais plus poussé ma recherche j'aurais certainement procédé de la même manière, en comparant avec le nombre de messages. :wink:
Mais encore faut-il savoir dans quels fichiers se trouve ce qu'on cherche. :lol:
Ma communauté de jeux vidéo : le forum des KamiKazz
Yetix
Apprenti-posteur
Apprenti-posteur
 
Messages: 163
Enregistré le: 03 Sep 2006 à 14:59


Retourner vers Discussions, recherches et traductions

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité