أفضل استراتيجية لإيجاد القالب المناسب للتحرير؟

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

أفهم من ذلك أنه، سواء قمت بذلك في منطقة <head> في لوحة التخصيص الخاصة بي، أو في مستودع GitHub منفصل سأستخدمه كقالب، فسيكون عليّ:

  1. العثور على القالب الصحيح للتعديل
  2. إعادة طباعة القالب بالكامل أينما كنت أقوم بالبرمجة (لوحة التحكم، المستودع، إلخ)، و
  3. إجراء التغييرات التي أريدها على القالب

تثبت الخطوة 1 أنها عائق. كيف يمكنني العثور على القالب الصحيح للتعديل؟

هذا ما جمعتُه: قوالب Discourse موجودة هنا، ويبدو أن القوالب “الحقيقية” التي أريد تعديلها موجودة بشكل عام في ملف المكونات هنا.

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

هل توجد طريقة أكثر يقينًا لي لتحديد القالب الصحيح؟

هل جربت امتداد متصفح Ember؟

يعرض القوالب والمكونات:

يبدو ذلك رائعًا. هل تقصد Ember Inspector؟

فهمت. عند استخدامه، هناك شيء لا أستوعبه (ربما يكون مرتبطًا بكوني جديدًا على Ember):

إذا نظرت إلى صفحة المجموعات في Discourse groups page، فإن كل إدخال مجموعة يحتوي على اسم وعدد المستخدمين.

باستخدام مستكشف Ember، يمكنني رؤية أن الاسم يأتي من قالب groups-info، لكن من أين يأتي group-user-count؟ (لا يبدو أنه يحتوي على إدخال في مستكشف Ember)

شكرًا لك. أرى أن group-user-count يظهر في السطر 55.

هل يعني هذا أنه إذا أردت، على سبيل المثال، إضافة سطر جديد قبل سطر group-user-count، سأضطر إلى نسخ جميع الأسطر الـ 100 من ملف index.hbs إلى كودي وإدراجها بهذا الشكل:
<script type="text/x-handlebars" data-template-name="groups/index">
[100 سطر هنا]
</script>

  • عادةً ما تتحقق مما إذا كان هناك منفذ إضافة مناسب، ثم تستخدمه.
  • يمكنك محاولة استهداف العناصر باستخدام jQuery، لكن هذا لن ينجح إذا كنت تحاول تعديل عنصر متكرر.

إذا لم تستطع فعل أي من الأمرين:

  • اطلب من فريق Discourse إضافة منفذ إضافة مع تقديم مبررات لذلك.
  • استبدل القالب بالكامل بقالبك الخاص كما اقترحت.

هل تقصد تغيير الكود في المنافذ المحيطة به؟ (مثل components/group-info)

تحرير: آسف، لقد خلطت بين القوالب ومنافذ الإضافات. لقد فهمت أن منافذ الإضافات هي أسطر في كود Discourse (مثل {{plugin-outlet name="topic-above-post-stream" args=(hash model=model)}) التي وضعها فريق Discourse كمرساة يمكنك استخدامها لتغيير الكود.

تعديل: تم نقل هذا المتابعة إلى هنا لأنها تتعلق بمسألة مختلفة قليلاً.