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

من الصعب جدًا الاختبار على الإصدارات القديمة. تم تصميم هذا ليعمل على أحدث إصدار من tests-passed. ومن الممكن جدًا أنه ببساطة غير متوافق مع نسخ Discourse الأقدم.

هل تظهر لديك رسالة خطأ في وحدة تحكم JavaScript؟ قد يكون هذا هو السبب في العرض غير الكامل. هذا ليس مكونًا متعلقًا بالتنسيق :slight_smile:

في حالات نادرة جدًا، تقوم النواة (Core) بتغييرات كبيرة جدًا، مما يستلزم تعديل التجاوز المطلوب بطريقة لا تدعم قاعدة الكود القديمة. ومع ذلك، فقد شملت طلبي للدمج (PR) العديد من التجاوزات الدقيقة جدًا التي يجب أن تكون قوية تجاه التغييرات في النواة. لكن لا يمكن للمرء أن يفعل سوى القليل.

شكرًا على الرد @merefield

يبدو أن هذا الخطأ في وحدة التحكم مرتبط بالفعل:

نعم، هذا عدم توافق بسيط إلى حد ما. يتم الآن استيراد الزخارف من موقع جديد لأن موقع الاستيراد القديم أصبح قديماً. من المرجح أن هذا الموقع غير موجود في تثبيتك القديم.

أنصحك بانتظار تحديث نظام Discourse الخاص بك إلى إصدار أحدث.

رائع! لا تقلق، شكرًا على الردود السريعة @merefield :smiley:

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

@Ryan_NR - في الوقت نفسه، يمكنك تجربة النسخة الأصلية التي قد لا تتطلب نفس التبعيات؟

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

أعتقد أن تفرع السمات (Theme branching) يعمل، لذا يمكنك الحفاظ على 3 فروع لنفس السمة (tests-passed و beta و stable).

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

شكرًا لك @merefield. اعتقدت أن التفرع قد يسبب ارتباكًا، لذا قمت بإنشاء مستودع جديد - فقط للتحقق مما إذا كان يزيل تبعيات الإصدار لـ @Ryan_NR؟

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

حلولك أبسط في هذه الحالة. كنتُ فقط أُعبّر عن أفكاري بشكل استراتيجي :slight_smile:

سأجرب ذلك! شكرًا لك @Rhidian :smiley:

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

حسناً… هذا يعمل بشكل مثالي!

شكراً لكم كلاهما كثيراً! :smiley: :smiley:

أهلاً وسهلاً. يسعدني أن أستطيع المساعدة :blush:

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

إعجابَين (2)

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

3 إعجابات

رصد ممتاز. النسخة الأصلية تعمل بشكل صحيح - لذا تظهر فقط في المواضيع الجديدة - بنفس الطريقة التي يعمل بها قالب الموضوع.

يمكنك تنزيل النسخة الأصلية من هنا.

المستودع الأصلي: https://github.com/naidihr/discourse-topic-template-placeholders_original

كان الأمر مجرد تبديل بسيط باستخدام Jquery لنقل نص القالب إلى الحقل الوسيط (placeholder) إذا تطابق مع نص القالب.

@merefield هل يمكنك النظر في هذا مرة أخرى؟

بالتأكيد. إذن، تريد أن يحدث هذا فقط في المنشور الأول؟ هل توجد أي ظروف قد ترغب فيها في أن يحدث هذا في منشورات لاحقة؟

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

لهذا السبب لجأت إلى خدعة JQuery في البداية، حيث لم أستطع إيجاد طريقة للقيام بهذا الفحص إلا بعد أن يتم العرض؟

تم حل المشكلة وإضافة إعداد، افتراضيًا مُفعّل، يقيد ذلك أول منشور فقط.

في الواقع، يضيف هذا ميزة، حيث يمكن الآن تطبيق قالب الموضوع (أو نص الحقل المخصص) على جميع المنشورات إذا رغبت في ذلك :slight_smile:

لقد اختبرته بشكل كافٍ (في بيئات التطوير والإنتاج)، لكن لا تتردد في التحقق منه.

4 إعجابات

شكرًا لك يا روبرت. لقد دمجت التغيير للاختبار.

إنه يحل المشكلة الموصوفة لكنه أضاف مشكلة جديدة. إذا كان لديك مسودة وأعدت فتحها، فإن نص المسودة يُفقد الآن. هل يمكنك التحقق من ذلك، من فضلك؟

يجب أن يكون السلوك هو إجراء التحويل فقط إذا كان النص الذي سيتم عرضه في المحرر يطابق نص القالب.

لا يمكنني إعادة إنتاج المشكلة حتى الآن… هل يمكنك تزويدي بخطوات الاستنساخ الدقيقة (STR) بما في ذلك الإعدادات الدقيقة التي ظهرت فيها هذه المشكلة؟ لقد عادت ردودي المسودة وموضوعي الجديد المسودة بشكل صحيح.

يحدث هذا إذا انتقلت إلى موضوع يحتوي على قالب مخصص. أبدأ مسودة. ثم أغادر الموقع. أعود إلى الموقع - أنقر على شعار صورة الملف الشخصي في الزاوية العلوية اليمنى والاسم - ثم أنقر على “المسودات”.

بعد ذلك، أنقر على “استئناف” في المسودة التي تم حفظها.

لا يظهر النص؛ بل أرى نصًا مؤقتًا بدلاً من ذلك.

Discourse 4.4.3

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

بالتعاون مع @merefield، نعتقد أننا قمنا بإصلاح هذه المشكلة ومشكلة أخرى الآن.

@davidkingham - هل يمكنك التأكيد من فضلك؟