استخدام مكون السمة بدلاً من iframe لإنشاء مؤقت للموضوع

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

إذا كنت ترغب في أن أقوم بتوسيع هذا العمل، فلا تتردد في إخباري. إنه تخصيص مثير للاهتمام للعمل عليه.

5 إعجابات

شكرًا لك @tshenry على الاطلاع على هذا. كان حل الإطار المضمن (iframe) مجرد حل «سريع وغير منظم» لنا لجعل وظيفة المؤقت تعمل. لكن نعم، نحن مهتمون جدًا بالمؤقت المخصص الذي كنت تجرب حوله. يبدو حلك أجمل وأنظف بكثير… لكنه يتجاوز قدراتي البرمجية بكثير. لذا مرة أخرى، نعم، أنا مهتم جدًا برؤية ما ستنتجه وقدرتي على تطبيقه على منتداي.

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

حسناً، يبدو ذلك جيداً. سأواصل العمل عليه وسأبلغك عندما أكون جاهزاً لعرض ما لدي.

3 إعجابات

@tshenry عند بناء هذا السمة، أتساءل عما إذا كان بإمكانك دمج إمكانية اختيار الفئة أو الفئات الفرعية التي سيتم تطبيقها عليها؟ لا أود تطبيق هذه السمة على جميع المنشورات في المنتدى الخاص بي، بل فقط على فئات محددة.

على سبيل المثال، في المنتدى الخاص بنا، أود تطبيق سمة المؤقت فقط على المنشورات ضمن فئة “الامتحانات السابقة”. والأفضل من ذلك، أنني أحب أن أتمكن من تحديد المنشورات المحددة داخل فئة “الامتحانات السابقة” التي سيتم تطبيق السمة عليها، حيث إن ميزة المؤقت مناسبة في 99% من الحالات، لكن هناك بعض المنشورات التي لا تناسبها هذه الميزة. لكن يمكنني بالتأكيد تجاوز هذه المشكلة بنقل تلك النسبة البسيطة (1%) من المنشورات غير المناسبة للمؤقت إلى فئة أخرى، أو حتى حذفها.

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

مضحك أنك ذكرت هذا! لقد أضفت للتو إمكانية تحديد علامة (tag) كعامل حاسم في تحديد المواضيع التي سيُظهرها المؤقت. هذا يمنع تطبيقه على أي مواضيع من نوع “حول” أو أي موضوع آخر في فئة معينة قد لا ترغب في ظهور المؤقت فيه:

هل يعمل هذا بشكل جيد بالنسبة لك أم أن استخدام علامة قد يكون مشكلة في سيناريوتك؟

وبينما نحن في الموضوع، هل هناك جوانب أخرى يجب أن أضعها في الاعتبار؟ الأمر يقترب من الاكتمال، أنا فقط أعمل على تحسين الكود وأحاول اختباره بدقة. يجب أن يكون جاهزًا إما هذا الأسبوع أو في وقت ما الأسبوع القادم :slightly_smiling_face:

إعجابَين (2)

هذا هو الشكل الحالي على أي حال:

إعجابَين (2)

أعتقد أن هذا يبدو مثالياً! كما أن معرف الوسم هو حل مثالي لسؤالي أعلاه. هذا عمل رائع! شكرًا لك.

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

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

أيضًا، لأي شخص مهتم بحل السؤال الأصلي حول كيفية تعطيل التمرير داخل الإطار (iframe)، ما عليك سوى إضافة هذا الكود إلى علامة التبويب </head> في سمة من اختيارك:

<script type="text/discourse-plugin" version="0.8.18">
   api.decorateCooked($elem => $elem.children('iframe').attr("scrolling", "no"));
</script> 

(تحية خاصة لـ @vinothkannans على تسليط الضوء على فائدة دالة decorateCooked() :grinning:)

3 إعجابات