У вас очень специфичный случай использования. Нет смысла показывать иконку, если у пользователя нет сообщений или если он не имеет права их отправлять согласно обсуждаемым выше настройкам. Кроме того, проверка наличия сообщений у пользователя и отображение кнопки на этом основании довольно затратна. Мы исправим проблему, из-за которой кнопка не отображается для сотрудников, но не будем показывать иконку без условий.
Для вашего случая вам потребуется кастомизировать тему. Если вы хотите, чтобы иконка была доступна и вашим пользователям, добавьте следующий код в секцию 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>
Это позволит показывать иконку пользователям даже при отключённой настройке, но исключит сотрудников, чтобы после внедрения исправления, о котором я говорил ранее, у вас не отображались две одинаковые иконки.