negaduck
(Alejandro)
3월 6, 2020, 7:32오후
1
안녕하세요. 메인 페이지에서 원본 게시글의 좋아요 수를 표시하고 싶습니다. 다음 게시글의 지침을 따랐습니다: Display Like Counts on Home Page Topic List - #6 by vinothkannans
showOpLikes를 사용하여 다음 코드를 추가했지만 문제가 있습니다. somehow 원본 게시글의 좋아요 수가 바로 표시되지 않습니다. 좋아요순으로 정렬을 클릭한 뒤 정렬 없이 최신순으로 돌아가야만 표시됩니다.
흥미롭게도 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는 두 번째 링크에서만 사용 가능합니다.
negaduck
(Alejandro)
3월 6, 2020, 8:30오후
3
그래도 이건 어떤 논리에 기반한 건가요, 아니면 버그인가요?
의도적으로 그렇게 만들어졌지만, 정확한 이유는 잘 모르겠습니다. 매 페이지 로드 시마다 들고 다닐 필요가 없는 데이터일 것이라고 추측합니다.
또한 일반적으로 주제 내 전체 좋아요 수가 원포스터(OP)의 좋아요 수보다 토론의 품질을 측정하는 데 더 나은 지표라고 생각하고 있습니다.
negaduck
(Alejandro)
3월 6, 2020, 8:52오후
5
글쎄, 커뮤니티의 목표에 따라 다르지 않을까요? 우리 게시물은 수학 문제와 질문을 다루고 있으므로, 가장 많은 '좋아요’를 받은 게시물을 상단에 표시하는 것이 좋겠습니다. 답변에 대한 '좋아요’를 포함해야 할지는 확실하지 않네요. 음, 모르겠네요.
pfaffman
(Jay Pfaffman)
3월 7, 2020, 12:11오후
6
시리얼라이저에 OP 좋아요를 추가하려면 일부 JavaScript를 추가해야 한다고 생각합니다. “add to serializer”(공백 없이 검색해도 됨)를 검색하면 몇 가지 예시를 찾을 수 있을 것입니다.
negaduck
(Alejandro)
3월 7, 2020, 2:15오후
7
음, 일단 showLikes로 되돌려 두었습니다. 조언해 주셔서 감사합니다. 나중에 이 방법을 시도해 볼 수도 있겠네요.