negaduck
(Alejandro)
1
こんにちは。メインページで投稿の「いいね」数を表示したいと考えています。この投稿の指示に従いました:Display Like Counts on Home Page Topic List - #6 by vinothkannans
showOpLikes を追加して以下のコードを追加しましたが、問題が発生しています。なぜか、最初の投稿の「いいね」数がすぐに表示されません。「いいね」でソートしてから、再度「最新」に戻してソート解除すると表示されるようになります。
興味深いことに、showLikes にはこの問題はありません。
<script>
var TopicListComponent = require('discourse/components/topic-list').default;
TopicListComponent.reopen({
showOpLikes: true
});
</script>
「いいね」でソートし、「最新」に戻る前のスクリーンショットです:
そして、その後の状態です:
showOpLikes は、https://meta.discourse.org/latest?order=op_likes のような URL を訪れて OP のいいねでソートしている場合のみ機能すべきだと考えます。そうでなければ op_like_count は含まれません(showLikes は機能するはずですが、これはトピック全体の合計です)。
これは、https://meta.discourse.org/latest.json と https://meta.discourse.org/latest.json?order=op_likes を確認することで確認できます。op_like_count が利用可能なのは、2 番目のリンクだけです。
negaduck
(Alejandro)
3
はい、しかしこれには何か根拠があるのでしょうか、それともバグでしょうか?
それは意図的にそのように設計されていますが、正確な理由はわかりません。すべてのページ読み込み時に保持したくないデータではないかと推測しています。
また、トピック内の総「いいね」数は、投稿者(OP)単独よりも議論の質を測る指標として優れていると一般的に考えています。
negaduck
(Alejandro)
5
ええと、コミュニティの目標によると思います。当社の投稿は数学の問題や質問を表しているので、最も「いいね」されたものを見てほしいと考えています。回答に付けられた「いいね」を含めるべきかどうかはわかりません。うーん、どうでしょう。
pfaffman
(Jay Pfaffman)
6
OPのいいねをシリアライザーに追加するには、JavaScriptを追加する必要があると思います。「add to serializer」(スペースなしで検索する必要があるかもしれません)と検索すると、いくつかの例が見つかるはずです。
negaduck
(Alejandro)
7
さて、showLikes のみに戻しましたが、ご提案ありがとうございます。後で試してみようと思います。