لديك حالة استخدام محددة جدًا. لا فائدة من عرض الأيقونة إذا لم يكن لدى المستخدم رسائل، أو إذا لم يكن مسموحًا له بإرسال أي منها وفقًا للإعداد الذي تمت مناقشته أعلاه. كما أن التحقق من وجود رسائل للمستخدم وعرض الزر بناءً على ذلك أمر مكلف بعض الشيء. سنقوم بإصلاح المشكلة التي تمنع ظهور الزر للموظفين، لكننا لن نعرض الأيقونة بشكل مطلق.
لحالة الاستخدام الخاصة بك، تحتاج إلى تخصيص نسقك. يمكنك إضافة هذا إلى قسم header في نسقك إذا كنت تريد أن تظهر الأيقونة لمستخدميك أيضًا.
<script type="text/discourse-plugin"
version="0.8">
api.addUserMenuGlyph(widget => {
if (!widget.currentUser || widget.currentUser.staff) return
const glyph = {
action: "quickAccess",
actionParam: "messages",
label: "user.private_messages",
className: "user-pms-link",
icon: "envelope",
href: `${widget.attrs.path}/messages`
};
return glyph;
});
</script>
سيؤدي هذا إلى عرض الأيقونة للمستخدمين حتى لو لم يكن هذا الإعداد مفعلًا، لكنه يستبعد الموظفين حتى لا تحصل على أيقونتين لنفس الشيء بمجرد تطبيق الإصلاح الذي تحدثت عنه سابقًا.