يقوم Discourse بتصيير التذييل بناءً على بعض الشروط. يُضاف التذييل هنا.
يُعرَّف showFooterNav هنا.
إذا كان أي من الشرطين صحيحًا، فسيتم عرض شريط التنقل.
يُعرَّف isiOSPWA() و isAppWebview() هنا
على سبيل المثال، يبدو isAppWebview() كالتالي.
يمكنك إنشاء شرط إضافي في نسختك من الموضوع - في موقع Discourse - للتحقق من ملف تعريف الارتباط (cookie)، على النحو التالي
const isWKWebView = () => {
// تحقق من ملف تعريف الارتباط وأرجع true إذا كان موجودًا
// أو استخدم أي طريقة أخرى للكشف عما إذا كان المستخدم يستخدم تطبيقك
}
بالنسبة للفئات الأخرى، ستتمكن عادةً من تعديل showFooterNav() على النحو التالي
api.modifyClass("controller:application", {
pluginId: "show-footer-nav",
@discourseComputed
showFooterNav() {
// ...
}
});
ومع ذلك، فإن هذا هو وحدة التحكم في التطبيق، مما يعني أنه سيتم تخزينه في الذاكرة المؤقتة قبل أن تتاح لرمزك فرصة التنفيذ. بعبارة أخرى، لن تتمكن من تعديل الفئة.
ومع ذلك، لا يزال بإمكانك تغيير قيمة showFooterNav باستخدام شيء مثل هذا.
<script type="text/discourse-plugin" version="0.8">
const isWKWebView = () => {
// تحقق وأرجع شرطك
};
if (isWKWebView()) {
const applicationController = api.container.lookup("controller:application");
applicationController.set("showFooterNav", true);
}
</script>
في علامة التبويب رأس الصفحة (header) في نسختك من الموضوع أو في برنامج تهيئة أولية إذا كنت تستخدم موضوعًا عن بُعد.