كيفية إضافة ملخص للموضوع إلى جميع موضوعاتي

مرحبًا أيها المجتمع،

أثناء تعديل بعض جوانب Discourse، أدركت أن المواضيع المثبتة فقط هي التي تجلب خاصية excerpt. وبينما يمكنني تحديث المُسلسل (serializer) للموضوع لإضافة هذا السمة excerpt، إلا أنني أرغب في تجنب التعديل على الخلفية (backend) لأنه يصبح أكثر صعوبة في الصيانة مقارنةً بالتعديل على واجهة المستخدم (client).

السؤال هو:
ما الفرق بين المواضيع المثبتة والمواضيع العادية بحيث تظهر خاصية excerpt في المواضيع المثبتة فقط؟

الصورة خير من ألف كلمة. هذا بيئتي المحلية في أحدث صفحة كما ترون، فقط الموضوع المثبت يجلب خاصية excerpt. لماذا؟ وكيف يمكنني تغيير ذلك باستخدام سمة (theme) لـ Discourse؟

يبدو خطأ افتراض أن هذا غير ممكن، حيث يتم تفعيل خاصية excerpt عند تثبيت موضوع. أظن أن ما أحتاجه هو تعديل الاستعلام الذي تنفذه صفحة اكتشاف المواضيع ليطلب خاصية excerpt دائمًا… ولكن بصراحة، لا يزال من الصعب علي فهم تدفق البيانات داخل Discourse حتى بعد بعض الخبرة في تعديله.

سيكون من المفيد أيضًا وجود وثائق تشرح كيفية عمل تدفق البيانات في Discourse.

شكرًا جزيلًا!!

يمكن الآن للمظاهر اختيار المشاركة في الملخصات! هذا تغيير حديث جدًا، ولا أعتقد أننا وثّقناه في الأدلة بعد.

تحقق من هنا للحصول على مثال:

ممتاز، @Falco

كنت على وشك الإجابة على أليكسي، لكنني رأيتكم تكتبون.

للإجابة على سؤاله العام قليلاً، فإن تضمين البيانات غالبًا ما يُحدده المُسلسل السائد.

عندما ذهبت للتحقق من هذا المثال، وجدت: discourse/app/serializers/listable_topic_serializer.rb at 094ddb1c1ffcd305e841dfa1efd6981507519054 · discourse/discourse · GitHub

وبشكل محدد:

  def include_excerpt?
    pinned || SiteSetting.always_include_topic_excerpts || ThemeModifierHelper.new(request: scope.request).serialize_topic_excerpts
  end

وهو ما يُعطي الأمر تقريبًا :slight_smile:

نعتذر بعمق عن تأخرنا في الانضمام إلى المحادثة لنقول شكراً! هههه. ولكن، شكراً جزيلاً لكم على الاستجابة السريعة جداً. قرأت الرسالة فور نشرها من قبلكم، لكنني كنت على هاتفي وغير قادر على تسجيل الدخول إلى المنصة. شكراً! :blush:

لكل من يعثر على هذا الموضوع عبر البحث، يمكنك الآن استخدام: Topic List Excerpts