مرحبًا.
أنا جديد نسبيًا في إنشاء إضافات Discourse، لكنني أتساءل عما إذا كان بإمكان أحد المساعدة في شرح كيفية إضافة زر إضافي إلى قائمة المنشور. насколько يمكنني أن أرى، يجب التعامل مع ذلك عبر إضافة مخصصة.
على سبيل المثال، زر “أضحكتك”، الذي سيتصرف بطريقة مشابهة لزر الإعجاب — حيث يخزن عدد الأشخاص الذين ضغطوا عليه على المنشور أو التعليق.
أنا على دراية بإضافة Retort، لكنها لن تحل مشكلتي، لأنني مهتم أكثر بفهم كيفية إضافة هذا الزر.
مرحبًا،
هذه مسألة معقدة بعض الشيء. بناءً على خبرتي، يجب تنفيذ ذلك عبر إضافة (plugin). سيتعين عليك إضافة زر إضافي إلى عنصر واجهة post-menu، كما ستحتاج إلى إضافة عملية ترحيل (migration) إلى قاعدة البيانات لتخزين ردود الفعل من نوع “جعلتني أضحك”.
يمكنك الاستعانة بإضافة discourse solved للإلهام:
تضيف هذه الإضافة أيضًا زرًا إضافيًا إلى قائمة المنشور وتوفر وظائف تُخزَّن في قاعدة البيانات.
تأكد من قراءة دليل المطورين لبناء الإضافات:
بالتوفيق.
شكرًا جزيلاً، @zcuric، لقد حاولت فهم هذا الإضافة، وكذلك Retort، لكن دون جدوى حتى الآن، وسأواصل في هذا الاتجاه.
هل يمكنك أيضًا، من فضلك، التلميح حول الطريقة التي يدير بها Discourse عرض زر الإعجاب؟ تحديدًا، كيف يخفي زر الإعجاب في منشوراتك الخاصة؟ حتى أتمكن من فعل الشيء نفسه لزرّي المخصص.
@marek على الرحب والسعة. لقد قرأت الكود قليلاً، بدءًا من هنا:
بشأن الخلفية، فإن الأمر يتعلق بطلب API بنسبة 99%. لم أدخل فيه كثيرًا. ربما يكون نقطة نهاية (endpoint). أعتقد أنه عند بناء إضافة (plugin)، ستحتاج إلى إنشاء مسارات REST API مع نقاط نهاية GET و POST و DELETE التي ستملأ البيانات في حقلك في قاعدة البيانات والذي أضفته عبر هجرة قاعدة البيانات، وسيتم ذلك باستخدام Rails. على الأقل، هكذا سأتعامل مع الموقف.