J’ai ajouté le code suivant avec showOpLikes, mais je rencontre des problèmes. D’une manière ou d’une autre, les nombres de likes des posts originaux ne s’affichent pas immédiatement. Cela ne fonctionne qu’après avoir trié par likes, puis revenir à « derniers » sans tri.
Curieusement, showLikes ne présente pas ce problème.
<script>
var TopicListComponent = require('discourse/components/topic-list').default;
TopicListComponent.reopen({
showOpLikes: true
});
</script>
Voici une capture d’écran avant de cliquer sur « trier par likes » et de revenir à « derniers » :
Je pense que showOpLikes ne devrait fonctionner que lors du tri par les likes de l’OP en visitant une URL comme https://meta.discourse.org/latest?order=op_likes, sinon op_like_count n’est pas inclus (showLikes devrait fonctionner… mais cela correspond au total pour l’ensemble du sujet).
Vous pouvez le constater en visitant https://meta.discourse.org/latest.json et https://meta.discourse.org/latest.json?order=op_likes… op_like_count n’est disponible que dans le deuxième lien.
C’est intentionnellement conçu ainsi, mais je ne suis pas sûr de la raison exacte. Je soupçonne qu’il s’agit de données que nous ne souhaitons pas charger à chaque chargement de page.
Nous considérons également généralement que le nombre total de likes au sein d’un sujet est une meilleure mesure de la qualité de la discussion que le seul auteur du sujet (OP).
Eh bien, cela dépend des objectifs de la communauté, je suppose. Nos publications représentent des questions et des problèmes de mathématiques, nous aimerions donc voir celles qui sont le plus aimées, et je ne suis pas sûr que les likes accordés aux réponses devraient être pris en compte. Hmm. Je ne sais pas.
Je pense que vous devez ajouter du JavaScript pour inclure les likes de l’OP dans le sérialiseur. Si vous recherchez « ajouter au sérialiseur » (peut-être sans espaces), vous devriez trouver des exemples.