Afficher la moyenne des points par message

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

Résolu Afficher la moyenne des points par message

Message par Evaliah le Ven 10 Juin 2016 - 11:13

Bonjour à tous Smile

J'ai une question toute bête mais mes recherches ne m'ont pas donné la solution malheureusement.

Je viens d'activer la gestion des points dans un forum, et j'ai coché "Oui" pour "Afficher la moyenne des points par message".
Sauf que... Je ne vois pas du tout est affichée cette moyenne.
Je vois bien le nombre de points de chaque membres mais pas la moyenne.


Merci d'éclairer ma lanterne !


Dernière édition par Evaliah le Ven 10 Juin 2016 - 16:48, édité 1 fois

Evaliah
****

Féminin
Messages : 317
Inscrit(e) le : 14/01/2013

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

Résolu Re: Afficher la moyenne des points par message

Message par Neptunia le Ven 10 Juin 2016 - 12:36

Bonjour ^^


Right PA > Modules > Points et réputation > Réputation
-> Afficher ce champ dans : [X] Profil

Le nombre de points par messages apparaîtra alors au début de l'onglet Statistiques du profil

Neptunia
+ Hyperactif +

Féminin
Messages : 10991
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: Afficher la moyenne des points par message

Message par Evaliah le Ven 10 Juin 2016 - 13:01

Bonjour Neptunia et merci pour votre réponse Smile

Comme il s'agit ici du système de points et non de réputation j'ai supposé qu'il fallait appliquer votre conseil dans la partie Points, mais j'avais déjà coché la case.



Je ne me sers pas de la réputation puisque sur le forum il n'y a pas de système de vote, il ne serait pas pertinent.
Comme je vois bien le champ correspondant au nombre de points dans les profils et messages je me dis qu'il doit y avoir de même un champ correspondant à la moyenne... Sinon je ne vois pas bien à quoi servirait de cocher oui.

Evaliah
****

Féminin
Messages : 317
Inscrit(e) le : 14/01/2013

http://lestroisiles.forumactif.org/
Evaliah a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Afficher la moyenne des points par message

Message par Neptunia le Ven 10 Juin 2016 - 13:11

J'ai raisonné comme vous sur mon forum.
Et ce n'est qu'en affichant la réputation sur le profil (sans l'activer) que la moyenne de points apparaît.

Ce qui entre nous me fait une belle jambe, puisque les points chez moi sont dans l'ancien champ humeur, et que je n'ai pas de système comptabilisant les messages uniquement là où il est possible de gagner des points

Et curieusement, le chemin que j'ai indiqué est le bon, il faut afficher la réputation sur le profil pour que la moyenne de points apparaisse.

Neptunia
+ Hyperactif +

Féminin
Messages : 10991
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: Afficher la moyenne des points par message

Message par Evaliah le Ven 10 Juin 2016 - 14:02

Merci pour votre explication, effectivement c'est très étrange comme comportement, ça ressemble à une fonction qui n'aurait pas été tout à fait terminée et aurait été laissée dans un coin pour les détails de finition : (

Effectivement cocher les cases dans la réputation sans même l'activer fait apparaître la moyenne par message dans l'onglet statistique, mais pas dans les messages même quand on a coché la case correspondante... Ce qui ajoute à mes soupçons que la fonction complète a été laissée dans un coin sans aller jusqu'au bout de ce qu'elle aurait dû être.

Je suppose que vous n'avez pas une solution pour que cette valeur apparaisse aussi dans les informations d'un message ?

Evaliah
****

Féminin
Messages : 317
Inscrit(e) le : 14/01/2013

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

Résolu Re: Afficher la moyenne des points par message

Message par Neptunia le Ven 10 Juin 2016 - 14:18

@Evaliah a écrit:Je suppose que vous n'avez pas une solution pour que cette valeur apparaisse aussi dans les informations d'un message ?

La moyenne de points par message est une moyenne.

Nombre de points / nombre de messages.

Si les deux sont activés sur les messages, il suffit de créer un champ vide affiché dans les messages.
Ensuite créer un javascript actif sur les sujets, qui se chargerait de calculer le résultat de la division et le stocker dans le champ vide crée à cet effet.

Comme d'habitude, j'ai les idées mais pas le pétrole. Je sais vous dire comment procéder, mais pas dans quels mots l'exprimer pour que javascript le comprenne.

Si l'une des données est absente du message, il faut aller récupérer (toujours par javascript) les infos nécessaires sur le profil. Ce qui revient à dire que si vous affichez 50 messages par page il faudra charger le contenu de 50 pages avant d'afficher celle du sujet. Ce que j'appelle une aberration en terme de vitesse d'exécution et pour laquelle je ne fournirais jamais de solution même si j'en avais une.

Neptunia
+ Hyperactif +

Féminin
Messages : 10991
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: Afficher la moyenne des points par message

Message par Evaliah le Ven 10 Juin 2016 - 14:50

Merci pour cette réponse Smile

Je parlais en terme d'astuce ou de connaissance sur une fonction FA existante et qui m'aurait échappé, mais on dirait bien qu'il faut en passer effectivement par du js maison.

C'est donc ce que j'ai fait, comme vous le disiez le nombre de messages et de points apparaissant correctement dans les profils sur les messages il suffit de calculer la moyenne. Pour la peine d'avoir dû faire un JS exprès j'affiche ça en pourcentage, ce qui est bien plus parlant qu'une décimale pour la plupart des gens.


Je vais placer ce sujet en résolu puisqu'il semble impossible d'aller au bout de la fonction proposée par FA, mais c'est tout de même bien dommage !

Merci Neptune Smile

Evaliah
****

Féminin
Messages : 317
Inscrit(e) le : 14/01/2013

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

Résolu Re: Afficher la moyenne des points par message

Message par Neptunia le Ven 10 Juin 2016 - 15:13

En pourcentage ?

C'est à dire qu'un membre glanant un point tous ses deux messages aurait 50% alors qu'un membre ayant plus de points que de messages (ce qui est mon cas ici) aurait un pourcentage supérieur à 100 ?

Avant de passer comme résolu, songez que vous pourriez poster le script et faire des heureux(ses) plus tard.

Ce n'est évidemment en rien une obligation !

Neptunia
+ Hyperactif +

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

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

Résolu Re: Afficher la moyenne des points par message

Message par Evaliah le Ven 10 Juin 2016 - 15:32

Pour mon cas il est impossible que le nombre de points soit supérieur au nombre de messages puisque que le nombre de points qu'on peut obtenir en postant un message varie de 0 à 1.
C'est en fait une façon artificielle de compter le nombre de messages postés dans des sections données Smile

Effectivement pour ceux que ça intéresse voici le petit js permettant de calculer un tel pourcentage.
Le résultat de ce js sera de la forme :
intitulé : nombre (pourcentage%)

Code:
$(".poster-profile").each(function() {
var msg = parseInt($(this).find(".label_et_info_profil:eq(1) .valeur_champ").text());
var rp = parseInt($(this).find(".label_et_info_profil:eq(2) .valeur_champ").text());

var pourcent = rp*100/msg;
pourcent = Math.round(pourcent*100);

$(this).find(".label_et_info_profil:eq(2) .contenu_info_profil").html(rp + ' <span class="label">(' + pourcent/100 + '%)</span>');
});

Attention : ce code sera à adapter en fonction de la position de vos deux valeurs.
Pour moi le nombre de messages totaux est en deuxième, ce qui correspond à :eq(1) (on commence à compter à partir de 0 dans ce type de codage)
Le nombre de messages dans les sections de rp est en troisième, donc :eq(2)

Mon template viewtopic_body est modifié de la sorte pour que ça fonctionne :
Code:
<!-- BEGIN profile_field -->
                  <div class="label_et_info_profil">{postrow.displayed.profile_field.LABEL}
                    <span class="valeur_champ">{postrow.displayed.profile_field.CONTENT}</span>
                  </div>
                  {postrow.displayed.profile_field.SEPARATOR}
                  <!-- END profile_field -->

Bien sûr vous mettez les class qui vous chantent, ça n'a pas d'importance Smile


Tout autre calcul, si par exemple le nombre de points peut être supérieur au nombre de messages, peut être fait facilement à partir des variables msg et rp.

Voilà voilà Smile

Evaliah
****

Féminin
Messages : 317
Inscrit(e) le : 14/01/2013

http://lestroisiles.forumactif.org/
Evaliah 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