متى تستخدم إضافة أم مكون سمة؟

أحتاج إلى إجراء تغييرات طفيفة على بعض طرق العرض:
مثال:

هل أحتاج إلى إنشاء إضافة لكل تغيير؟ حتى لو كان صغيرًا جدًا مثل CSS فقط؟
شكرا لمساعدتك.

إعجاب واحد (1)

لا، الإضافات مطلوبة فقط إذا كنت تنوي تغيير الواجهة الخلفية.

إذا كان مجرد تغيير محلي، يمكنك الانتقال إلى Admin → Customize → Theme وإدخال التغييرات في مكون سمة جديد، ثم إضافته إلى السمة الحالية الخاصة بك.

ألقِ نظرة على https://meta.discourse.org/c/documentation/theme-developers/127، وخاصة:

8 إعجابات

شكرا!
إذًا، إذا كنت بحاجة إلى تغيير تسمية أو إضافة تلميح، فأنا بحاجة إلى إنشاء سمة، ولكن إذا كنت بحاجة إلى إضافة عمود جديد إلى صفحة (على سبيل المثال: قائمة المواضيع)، فأنا بحاجة إلى إنشاء إضافة؟

التمييز هو كالتالي:

  • إذا كنت بحاجة إلى تغيير واجهة برمجة التطبيقات (API)، على سبيل المثال أي بيانات في مسار .json، أو تغييرات في التفويض، أو معالجة البيانات في الواجهة الخلفية، فأنت بحاجة إلى مكون إضافي (plugin).
  • بالنسبة للعديد من التغييرات في الواجهة الأمامية التي لا تتطلب بيانات مختلفة، فأنت تحتاج فقط إلى TC. أي تغييرات تقديمية كثيرة، أو أي منطق في جافاسكريبت (javascript) ليس حساسًا.
5 إعجابات

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

5 إعجابات

حسنا شكرا. في الدليل لا أفهم كيف يمكنني إعداد واستيراد TC محليًا، هناك فقط مثال واحد لجهاز بعيد.

أقترح استخدام هذه الأداة الرائعة لإنشاء سمات Discourse بسهولة محليًا:

إعجابَين (2)

إلا إذا كان لديك تغيير صغير جدًا في CSS، فإنني أوصي باستخدام سمة بعيدة أو أداة سطر الأوامر.

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

داخل قائمة مواضيع الفئة، أحتاج إلى إضافة عمود جديد مع العمود “created_at” وتغيير التاريخ من “صغير” إلى ممتد (على سبيل المثال: DD/MM/YYYY HH:MM)

إذا كنت ترغب في إضافة أشياء جديدة إلى قالب، فسأبدأ بـ https://github.com/discourse/discourse-theme-skeleton، لكنني لا أعرف كيفية إضافة عمود هناك. أعتقد أنه يمكن القيام ببعض سحر جافاسكريبت، لكن هذا ليس مجال خبرتي.

هل تعلم أنه يمكنك رؤية هذه المعلومات عند تحريك مؤشر الفأرة فوقها؟

راجع أيضًا مكون سمة مواقع منافذ الإضافات، ولكن لا يوجد منفذ إضافة هناك.

إعجابَين (2)

لديك منافذ الإضافات هذه: topic-list-after-columns و topic-list-header-after.

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/raw-templates/list/topic-list-item.hbr#L90

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/raw-templates/topic-list-header.hbr#L27

اكتشاف جيد. بدا الأمر خاطئًا لعدم وجود منفذ هناك. أعتقد أن مكون السمة لا يعرضه ببساطة.

إعجاب واحد (1)

مكون سمة مواقع منافذ المكون الإضافي لا يعرض منافذ خام في الوقت الحالي.

يوضح لك مكون السمة هذا كيفية إضافة عمود GitHub - discourse/discourse-add-category-column

3 إعجابات