nstoecki42
(Nico Stöckigt)
28 أبريل 2023، 10:24ص
1
أهلاً،
لقد حاولت إضافة إخلاء مسؤولية على فئة معينة. كانت لدي فكرة الحصول على “لافتة” - مثل
هذه هي المشاركة الأولى للمستخدم - دعنا نرحب بالعضو الجديد في مجتمعنا!
أو
لقد مر وقت طويل منذ أن رأينا المستخدم - كانت آخر مشاركة قبل عام واحد.
فوق كل مشاركة.
لقد حاولت تحقيق ذلك باستخدام:
common/head_tag.html
api.decorateWidget('post:after', (helper, args) => {
if (args.topic.category_id === 51) { // فئتي
const $post = helper.find('.cooked');
const disclaimerText = api.decorateCooked(helper, args, settings.MY_DISCLAIMER);
$post.prepend(`<div class="disclaimer">${disclaimerText}</div>`);
}
});
فقط لكي أكون كاملاً، إليك
settings.yml
MY_DISCLAIMER:
type: string
default: 'هذا تصنيف يأتي مع ضمان محدود ويجب استخدامه على مسؤوليتك الخاصة.'
description: نص إخلاء المسؤولية للفئة
وهناك أيضًا common/common.scss مع الفئة .disclaimer فيه.
ولكن عندما أقوم بتفعيل ذلك، لم تعد المشاركة نفسها تُعرض، ومنطقة المحتوى فارغة تمامًا.
شكرًا على أي مساعدة!
إعجاب واحد (1)
Stephen
(Stephen)
28 أبريل 2023، 10:44ص
2
هل هو فارغ في المصدر أيضًا؟
أهلاً بعودتك!
إذا رأيت فراغًا، فذلك بسبب وجود خطأ. find غير موجود في helper.
يمكنك عادةً رؤية ذلك في وحدة تحكم المتصفح (F12).
ربما تريد شيئًا كهذا:
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
}
});
أو باستخدام HTML خام:
const RawHtml = require("discourse/widgets/raw-html").default;
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return new RawHtml({html: `<div class="container">${settings.MY_DISCLAIMER}</div>`})
}
});
يمكنك قراءة هذا المنشور الذي يشرح كيفية عمل مساعد h هذا.
يمكنك القيام بما يلي إذا كنت ترغب في إضافة بعض HTML قبل المحتوى المطبوخ:
api.decorateWidget('post-contents:before', (helper, args) => {
const { topic } = helper.widget.findAncestorModel();
if (topic && topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER);
}
});
3 إعجابات
شكرا @Arkshine ، لقد ساعد ذلك كثيرا!
لقد استخدمت الكود التالي لأنني أريد عرض النص أعلاه مثل اللافتات الأخرى المذكورة.
api.decorateWidget('post:before', (helper, args) => {
if (helper.widget.model.topic.category_id === 51) {
return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
}
});
تحياتي!
إعجاب واحد (1)
system
(system)
تم إغلاقه في
1 يونيو 2023، 8:49ص
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.