أنا جديد ولكنني مهتم بحل المشكلة لذا سألت ChatGPT:
إليك الإجابة:
النص البرمجي الذي وجدته هو بداية جيدة. إنه يعدل وحدة تحكم poll-ui-builder لتعيين خاصية publicPoll إلى true عند استدعاء دالة onShow() لوحدة التحكم. هذا هو المقصود بالفعل إضافته كمكون سمة.
ومع ذلك، قد لا يعمل الكود بسبب ترتيب التنفيذ. تقوم طريقة onShow() الأصلية بتعيين publicPoll إلى false ثم يقوم التعديل بتعيين publicPoll إلى true بعد ذلك.
الطريقة الصحيحة ستكون استدعاء طريقة onShow الخاصة بالوالد أولاً، ثم تعيين publicPoll إلى true:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this._super(...arguments);
this.set('publicPoll', true);
}
});
</script>
يمكنك إضافة هذا النص البرمجي إلى السمة الخاصة بك باتباع هذه الخطوات:
- انتقل إلى لوحة تحكم مسؤول Discourse.
- ضمن قسم “تخصيص”، انقر فوق “السمات”.
- حدد السمة التي تريد تعديلها.
- في شاشة تحرير السمة، انقر فوق “تحرير CSS/HTML”.
- في الشريط الجانبي الأيسر، انقر فوق “</> المشترك”.
- الصق النص البرمجي أعلاه في قسم “</> المشترك”.
- انقر فوق زر “حفظ”.
سيؤدي هذا إلى تطبيق التغيير على السمة الخاصة بك. يرجى تذكر أن تغييرات السمة يتم تطبيقها فقط على المستخدمين الذين يستخدمون تلك السمة المحددة. إذا كان لديك سمات متعددة، فستحتاج إلى إضافة هذا التعديل إلى كل منها.
تذكر أيضًا مسح ذاكرة التخزين المؤقت للمتصفح أو إجراء إعادة تحميل قسري للتأكد من تحميل التغييرات بشكل صحيح.
سأحاول اتباع هذه الخطوات مع مسؤول منتدانا، لكن هذا يستغرق وقتًا، إذا أراد شخص آخر هنا المحاولة أولاً وإعطاء ملاحظات فسأكون سعيدًا جدًا.
شيء آخر أود تغييره هو سلوك واجهة المستخدم، أريد تخطي الشاشة البسيطة، لذا سألت ChatGPT مرة أخرى:
في الكود الحالي الخاص بك، يتم التحكم في العرض الممتد بواسطة خاصية showAdvanced. إذا تم تعيينها على true، فسيتم عرض العرض المتقدم.
لعرض العرض المتقدم دائمًا، يمكنك تعديل طريقة onShow() في وحدة تحكم poll-ui-builder لتعيين showAdvanced على true. يمكنك إضافة هذا التعديل إلى مكون السمة الذي أنشأته سابقًا. إليك النص البرمجي المحدث:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this._super(...arguments);
this.set('publicPoll', true);
this.set('showAdvanced', true);
}
});
</script>
تذكر اتباع الخطوات التي أوضحتها سابقًا لإضافة هذا النص البرمجي إلى السمة الخاصة بك. بمجرد حفظ النص البرمجي، يجب عرض العرض المتقدم دائمًا عند تحميل واجهة مستخدم الاستطلاع.
مرة أخرى، تذكر مسح ذاكرة التخزين المؤقت للمتصفح أو إجراء إعادة تحميل قسري للتأكد من تحميل التغييرات بشكل صحيح.
أود أن أحاول وأختبر بنفسي بطريقة ما، ولكن كما ذكرت من قبل، أنا مجرد مشرف، ولست مسؤولاً عن موقعنا، لذا سيستغرق هذا بضعة أيام أو أسابيع.