مكوّن تصميم الموضوع: نص نائب للموضوع

نص قالب الموضوع كنص نائبي (مكون السمة)

يتيح لك هذا المكون للسمة عرض قوالب الموضوعات كنصوص نائبة (علامات مائية) بدلاً من نصوص القالب القابلة للتحرير.

يتيح لك ذلك توفير تعليمات مخصصة كنص نائب لكل موضوع.

على سبيل المثال:

هذا هو النص النائب (العلامة المائية) العادي.

ملاحظة: يمكنك بالفعل تغيير هذا على مستوى الموقع عن طريق تغيير النص المخصص.

انتقل إلى لوحة الإدارة >> تخصيص >> نص

ثم ابحث عن النص الذي تراه هناك على الشاشة.
يجب أن يعطيك البحث عن “BBCode” ما تريد:

ثم غيّر القيم الخاصة بـ js.composer.reply_placeholder إلى نص النائب الذي تريد عرضه.

يمكنك أيضًا تعيين قالب موضوع في كل فئة.

في مربع حوار “تحرير الفئة”، حدد “قوالب الموضوع”. يمكنك إضافة قالب مخصص لفئتك.

يعمل هذا بشكل جيد، ولكن يجب على المستخدم حذف نص القالب قبل أن يبدأ في كتابة منشوره.

يتيح لك هذا المكون للسمة عرض نص قالب الموضوع كنص نائب (علامة مائية) بدلاً من النص القابل للتحرير. ببساطة انقر على المربع وابدأ الكتابة.

يمكن ضبطه لعرض جميع قوالب الموضوعات كنصوص نائبة، أو يمكنك فعل ذلك على أساس كل حالة على حدة عن طريق إضافة مؤشر [placeholder] إلى قالب الموضوع.

تثبيت مكون السمة

:hammer_and_wrench: مستودع Git: https://github.com/naidihr/discourse-topic-template-placeholders

:thinking: كيف أقوم بتثبيت سمة أو مكون سمة؟

الائتمان

شكرًا لـ @merefield على إعادة هيكلة عنصر JQuery لاستخدام إطار عمل Ember ونواة Discourse.

يرجى ملاحظة أن النسخة المحدثة تم اختبارها لتعمل فقط على إصدارات Discourse من 2.4.1 فما فوق. إذا كنت تستخدم إصدارًا سابقًا من Discourse، يرجى تجربة النسخة الأصلية التي تم اختبارها في الإصدار 2.3.10.
مستودع النسخة الأصلية: https://github.com/naidihr/discourse-topic-template-placeholders_original

35 إعجابًا

ملاحظة تطوير PS. اضطررت إلى استخدام حيلة في JQuery لجعل هذا يعمل كمكون سمة. إذا كان من الممكن تحديث النص النائب عبر النموذج، فسأكون ممتنًا إذا أبلغتني بذلك.

8 إعجابات

يمكنك تجربة شيء مثل هذا

<script type="text/discourse-plugin" version="0.8">
  api.modifyClass("model:composer", {
    applyTopicTemplate() {
      this._super(...arguments);

      Ember.run.schedule("afterRender", () => {
        // قم بوضع عملك هنا
      });
    }
  });
</script>

هذا يجب أن يسمح لك بإضافة بعض المنطق المخصص عند تطبيق Discourse لقوالب مواضيع التصنيفات.

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

9 إعجابات

فكرة رائعة لمكوّن السمة!

لقد قمت بالفعل بتقديم طلب سحب (PR) للقيام بما يلي:

  • إزالة الحاجة إلى jQuery
  • إزالة الحاجة للقلق بشأن التوقيت (استخدم إطار عمل Ember ونواة Discourse، ولا تحاربهما)
  • تعديل نموذج Composer للمساعدة في تحقيق النتيجة (كما اقترحت بشكل صحيح)

لن أكون مستاءً إذا لم تقم بدمجه، لكنني آمل أن يساعد في رؤية طريقة أخرى للقيام بالأشياء :slight_smile:

(لا يمكنني ضمان عدم وجود أخطاء، لكنني سعيد لمتابعة أي منها ! :cowboy_hat_face: )

9 إعجابات

شكرًا لك يا روبرت. لقد دمجت ذلك الطلب. مُقدَّر جدًا :+1:

إعجابَين (2)

هذا بالضبط ما كنت أبحث عنه! أنت إله! :bowing_man: :shallow_pan_of_food: :bowing_woman:
يرجى قبول هذا التقدم المتواضع من الإيموجي. :canned_food:

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

معلومة للإشارة: هذا يعمل فقط إذا ذهبت أولاً إلى التصنيف وأنشأت موضوعًا جديدًا. إذا حاولت إنشاء موضوع جديد من صفحة “الأحدث” ثم اخترت تصنيفًا من القائمة المنسدلة، فلن يتم عرض النص.

إعجابَين (2)

هل هذا متوقع؟ هذا هو السلوك الطبيعي لوظيفة قالب الموضوع. لن يُؤخذ قالب الموضوع في الاعتبار في الحالة الأخيرة.

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

هذا الطلب يستفيد ببساطة من الوظائف الأساسية…

ربما نتحدث عن أشياء مختلفة، ولكن هذا هو كيف يعمل بالنسبة لي…

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

قد يكون هذا بسبب سبب آخر، حيث أنه يعمل هنا في ميتا. إذا ذهبت إلى /latest، وفتحت محرر النصوص، ثم اخترت فئة السوق، فستحصل على القالب المتاح لهذه الفئة.

4 إعجابات

أجل، غريب. عذراً، أعتقد أنه قد تم حل المشكلة. كان هذا يزعجني منذ فترة طويلة لكنه يبدو أنه يعمل الآن.

حسناً، هذا يطرح تحدياً جديداً. هههه.

4 إعجابات

مرحبًا روبرت - لقد اختبرته بعد الدمج وكان يعمل، لكنه لم يعد يعمل لدي؟ هذا مع إعداد التجاوز - دون استخدام [placeholder]. هل يمكنك التحقق من ذلك أيضًا مع نسختك؟

أيضًا في نسختي الأصلية - كان يعمل بنفس الطريقة إذا بدأت موضوعًا جديدًا من الصفحة الأخيرة ثم اخترت الفئة.

قد أحتاج إلى التراجع…؟

أنا أنظر إليه الآن. امنحني القليل من الوقت.

تم رفع طلب دمج (PR) للإصلاح: FIX: change the placeholder & template when switching selected Category by merefield · Pull Request #2 · naidihr/discourse-topic-template-placeholders · GitHub

أصبح الآن يأخذ التصنيف من اختيار المؤلف. وبما أن هذا تم، يبدو أنه يعمل في جميع الحالات، ولكن يرجى التأكيد.

إعجابَين (2)

مرحبًا روبرت، لقد دمجت طلب السحب الأخير وحدّثت إلى أحدث إصدار من مكون القالب، لكن لا يزال يظهر نص القالب الافتراضي الذي كتبته أنا، رغم أنني قمت بتفعيل خيار “عرض جميع قوالب المواضيع كعناصر نائبة”. أنا أستخدم نسخة Discourse 2.4.1. هل لديك أي أفكار إضافية؟

إعجابَين (2)

هذا يعمل، لكنه لا يعمل على الإطلاق إذا تم تفعيل خيار “عرض جميع قوالب المواضيع كعناصر نائبة”، حتى لو كنت داخل التصنيف. هل أندم الآن على تطوعي لهذا؟ :winking_face_with_tongue:

إعجابَين (2)

لا مشكلة يا رفاق. نحن فقط نكرر العملية. :). سألقي نظرة.

تحديث: طلب السحب FIX: resolve issue with displaying all Topic Templates as Placeholders by merefield · Pull Request #3 · naidihr/discourse-topic-template-placeholders · GitHub

عند الاسترجاع، تذكّر تحديث الصفحة إذا قمت بتغيير أي إعداد.

إعجابَين (2)

رائع يا روبرت. لقد أصلح آخر طلب سحب المشكلة. أيضًا عند بدء موضوع من صفحات أحدث أو التصنيفات. يبدو كل شيء جيدًا الآن. شكرًا لك على وقتك في النظر في هذا. حل أنيق جدًا _عمل رائع :wink::+1:

3 إعجابات

لا مشكلة. لقد كان ذلك متعة. آسف، كان يجب أن يكون اختباري الأولي أكثر شمولاً. شكرًا لك على صبرك.

أعتقد أننا على المسار الصحيح الآن، ونأمل ذلك!

استمروا في تقديم المزيد من الأفكار الرائعة وتحويلها إلى واقع!

3 إعجابات

مرحبًا أيها الأصدقاء! نحن نحب فكرة مكون هذا القالب!

لقد جربت للتو تثبيته على مثيل discourse الخاص بنا، لكنني أواجه بعض المشاكل هنا.
يبدو أنه عند تفعيله في القالب، فإنه يكسر بعض التنسيقات الموجودة بالفعل في القالب.
على سبيل المثال، الأزرار في قائمة المستخدم المنسدلة:

تصبح بهذا الشكل عند التفعيل:


بالإضافة إلى ذلك، يبدو أن النص البديل (placeholder) لا يعمل، سواء كان خيار 'عرض جميع قوالب المواضيع الخاصة بك كنص بديل (نص علامة مائية)' مفعّلًا أو معطلًا.

قد يكون ذلك لأن مثيل discourse الخاص بنا هو v2.3.10؟

لقد راجعت الكود هنا ولا أستطيع تحديد سبب تشوه تنسيقاتنا.

نحن نعتمد على فريق آخر لإدارة وتحديث مثيل discourse الخاص بنا، وهي مهمة كبيرة نسبيًا لتنفيذها.

آمل الحصول على نصيحة سريعة قد تساعد في حل هذه المشكلة، لكن إذا كان الأمر يتعلق بإصدار discourse الخاص بنا، فهذا مقبول أيضًا!

شكرًا مقدّمًا :smiley: