`showOpLikes` لا يعمل على الفور، بل بعد التنقل ذهابًا وإيابًا

مرحبًا. أود أن أرى عدد الإعجابات للمشاركات الأصلية في الصفحة الرئيسية. لقد اتبعت التعليمات من هذا المنشور: 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 يجب أن يعمل فقط عند الفرز حسب إعجابات المنشئ الأصلي (OP) من خلال زيارة رابط مثل https://meta.discourse.org/latest?order=op_likes. وإلا، فلن يتم تضمين op_like_count (يجب أن يعمل showLikes، لكن هذا يشير إلى الإجمالي لكل الموضوع بأكمله).

يمكنك رؤية ذلك عمليًا من خلال عرض https://meta.discourse.org/latest.json و https://meta.discourse.org/latest.json?order=op_likes… فـ op_like_count متاح فقط في الرابط الثاني.

نعم، ولكن هل هناك منطق وراء هذا، أم أنه خطأ؟

تم بناؤه عمدًا بهذه الطريقة، لكنني لست متأكدًا من السبب الدقيق. أعتقد أنه بيانات لا نرغب في حملها في كل مرة يتم فيها تحميل الصفحة.

كما أننا نعتبر عمومًا إجمالي الإعجابات داخل موضوع ما مقياسًا أفضل لجودة النقاش مقارنة بمساهمة المنشئ الأصلي (OP) وحدها.

حسناً، الأمر يعتمد على أهداف المجتمع، أظن ذلك. تمثل منشوراتنا أسئلة ومسائل رياضية، لذا نود رؤية الأكثر إعجاباً، ولست متأكداً مما إذا كان يجب احتساب الإعجابات الممنوحة للإجابات. هه. لا أعرف.

أعتقد أنك بحاجة إلى إضافة بعض جافا سكريبت لإضافة إعجابات المنشور الأصلي إلى السيرياليزر. إذا قمت بالبحث عن “إضافة إلى السيرياليزر” (ربما بدون مسافات)، فستجد بعض الأمثلة.

حسنًا، لقد عدتُ بها إلى showLikes فقط، لكن شكرًا على الاقتراح، ربما أجربه لاحقًا.