Discourse Gruppen-Seitenleistenmenüs

:information_source: Zusammenfassung Erstellen Sie benutzerdefinierte Seitenleistenmenüs für ausgewählte Gruppen
:eyeglasses: Vorschau Treten Sie dieser Theme Creator Gruppe bei und sehen Sie sich dann hier eine Vorschau an
:hammer_and_wrench: Repository \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e
:question: Installationsanleitung So installieren Sie ein Theme oder eine Theme-Komponente
:open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Diese Theme-Komponente installieren

:woman_technologist:t2: Übersicht

Diese Discourse-Theme-Komponente gibt Forum-Administratoren die Möglichkeit, benutzerdefinierte Seitenleistenmenüs zu erstellen, die nur für Mitglieder ausgewählter Gruppen zugänglich sind.

Hauptmerkmale:

  • Gruppenbasierte Menü-Sichtbarkeit - Menüabschnitte erscheinen nur in der Seitenleiste für autorisierte Benutzer
  • Objektbasierte Konfiguration - Einfach zu bedienende Einstellungs-UI zur Erstellung von Menüs
  • Mehrere Abschnitte - Erstellen Sie unbegrenzt viele Menüabschnitte für verschiedene Gruppen (in vernünftigem Rahmen)
  • Admin-Schnellbearbeitungslink - Bleistiftsymbol in Menüüberschriften verlinkt Admins direkt zu den Komponenteneinstellungen

:briefcase: Einige Anwendungsfälle

  • Ressourcen und Schnelllinks nur für Mitarbeiter
  • Abkürzungen für Kategorie-Moderatoren
  • Benutzerdefinierte Gruppenportale (Projektteams, Lerngruppen, Buchclubs, VIP-Mitglieder)
  • Links zu Ressourcen auf übergeordneten oder Partner-Websites

:gear: Einstellungen

Menüabschnitte (menu_sections)

Öffnet den Objekt-Einstellungseditor zur Konfiguration benutzerdefinierter Gruppenmenüabschnitte.

Abschnittseigenschaften

Eigenschaft Beschreibung
Menütitel Titel, der als Seitenleistenabschnittsüberschrift angezeigt wird
Zugelassene Gruppen Gruppen, denen die Anzeige dieses Menüabschnitts gestattet ist (max.: 20 Gruppen pro Abschnitt)
Menülinks Sammlung von Links, die in diesem Abschnitt angezeigt werden sollen (max.: 20 Links pro Abschnitt)

Linkeigenschaften

Eigenschaft Beschreibung
Icon FontAwesome-Icon-Name (z. B. circle-info, star, user-group). Muss möglicherweise zu Admin > Alle Website-Einstellungen > svg icon subset hinzugefügt werden
Text Anzeigelabel für den Link
URL Linkziel – unterstützt sowohl relative Pfade (/faq, /my/preferences) als auch absolute URLs (https://example.com)

:wrench: Installation und Konfiguration

  1. Installieren Sie die Theme-Komponente gemäß Installing a theme or theme component.
  2. Gehen Sie zum Objects setting editor (Objekteinstellungseditor)
  3. Klicken Sie auf die Schaltfläche + new_menu_section, um den ersten benutzerdefinierten Menüabschnitt einzurichten
  4. Geben Sie dem neuen Menü einen Titel im Feld Menu title und wählen Sie dann die Gruppen aus, die darauf zugreifen sollen.
  5. Klicken Sie auf + new_menu_section, um einen weiteren Abschnitt hinzuzufügen, oder speichern Sie die Änderungen.
Screenshots der Admin-Konfiguration mit Beispiel-Setup

Frische Installation – gehen Sie zum Objects setting editor.

Beispiel-Szenario mit 2 benutzerdefinierten Menüs und 3 Benutzern, von denen einer ein Admin ist:

  • @Catra liebt Katzen und ist Mitglied der Gruppe pink, die Zugriff auf das Cat Menu :grinning_cat: hat
  • @HelloKitty mag Hunde und ist Mitglied der Gruppe purple, die Zugriff auf das Dog Menu :dog_face: hat
  • @Lilly ist Mitglied von purple, weil sie einen Hund besitzt und Hunde besser sind. Sie ist aber auch Forum-Admin, und Admins erhalten Zugriff auf das Cat Menu, da Katzen mehr Aufsicht benötigen :dog_face: :cat_with_wry_smile:

Erstellen Sie ein neues benutzerdefiniertes Menü – erstellen Sie für unser Beispiel das Cat menu und fügen Sie die Gruppen hinzu, denen der Zugriff darauf gestattet ist – pink und admins. Klicken Sie dann auf die Schaltfläche + menu_link, um die Links für das neue Menü einzurichten.

Fügen Sie die Menülinks hinzu – 1. Fontawesome-Icon-Name, 2. anzuzeigender Text für den Link und 3. die URL, relativ oder absolut. Klicken Sie auf die Schaltfläche + menu_link, um einen weiteren Link zu diesem Menü hinzuzufügen.

Erstellen Sie einen weiteren benutzerdefinierten Menüabschnitt namens Dog menu, gewähren Sie nur der Gruppe purple Zugriff und konfigurieren Sie die Links:

Screenshots des resultierenden Seitenleistenmenüs

Benutzer @Catra hat das Cat-Menü! :grinning_cat:

Benutzer @HelloKitty hat das Dog-Menü! :dog_face:

Admin-Benutzer @Lilly hat beide Menüs und kann sie bearbeiten! :smiling_cat_with_heart_eyes:

Konfigurationsbeispiel

Menütitel: "Mitarbeiterressourcen"
Zugelassene Gruppen: staff
Links:
  - Icon: wrench
    Text: Moderationsleitfaden
    URL: /t/moderation-guide/123
  - Icon: chart-line
    Text: Analyse-Dashboard
    URL: /admin/dashboard

:light_bulb: Wichtige Hinweise

Admin-Zugriff

Admins müssen sich selbst zu Gruppen hinzufügen, um Menüs zu sehen, die für diese Gruppen konfiguriert sind. Der Admin-Status allein gewährt keinen Zugriff auf alle benutzerdefinierten Menüs. Dies ist beabsichtigt! Außerdem sehen Admins, die zu den zugelassenen Gruppen eines Menüs gehören, ein Bleistiftsymbol im Abschnittsheader, das zu den Komponenteneinstellungen verlinkt.

Gruppenkonfiguration

  • Die Gruppe everyone wird nicht unterstützt – Verwenden Sie die native Seitenleisten-Fußzeilen-UI, um globale benutzerdefinierte Menüs für alle Benutzer, einschließlich anonymer Besucher, zu erstellen.
  • Maximal 20 Gruppen pro Menüabschnitt. Wenn Sie mehr benötigen, erstellen Sie duplizierte Abschnitte mit unterschiedlichen Gruppenzuweisungen.
  • Benutzer in mehreren Gruppen sehen alle Menüabschnitte, auf die sie Zugriff haben.

Testen & Organisation

Verwenden Sie Testkonten, um den korrekten Zugriff für verschiedene Gruppenkombinationen zu überprüfen. Behalten Sie Ihre Menükonfigurationen im Auge, um Verwirrung bei wachsender Komplexität zu vermeiden; eine Zugriffsmatrix oder ähnliche Dokumentation wird für größere Foren mit vielen Gruppen empfohlen.

Sicherheitsaspekte

Diese Komponente bietet nur Zugriffskontrolle auf UI-Ebene. Sie steuert die Menü-Sichtbarkeit, nicht den Ressourcen-Zugriff.

:white_check_mark: Saubere, organisierte Navigation
:white_check_mark: Reduzierte UI-Unordnung für nicht autorisierte Benutzer
:white_check_mark: Professionelle gruppen-spezifische Portale

Dies ist keine Sicherheitsfunktion. Verhindert nicht den Zugriff auf Link-Quellen – diese Komponente steuert nur, was in der Seitenleiste gerendert wird, nicht, wer auf die tatsächlichen Ressourcen zugreifen kann.

Verlassen Sie sich immer auf Discoures eingebautes Berechtigungssystem, um tatsächliche Ressourcen zu sichern:

  • Kategorienberechtigungen ordnungsgemäß konfigurieren
  • Sichtbarkeitsbeschränkungen für Themen festlegen
  • Gruppenbasierte Zugriffskontrollen für Inhalte verwenden
  • Sicherstellen, dass private Ressourcen eine Authentifizierung erfordern

Best Practice für Administratoren:
Konfigurieren Sie die Berechtigungen für verlinkte Kategorien und die Gruppenmitgliedschaft separat – zum Beispiel muss ein Menülink zu einer privaten Kategorie die Berechtigungen dieser Kategorie ordnungsgemäß konfiguriert haben. Administratoren sind dafür verantwortlich, sicherzustellen, dass Links zu externen Ressourcen für die ausgewählten Gruppen angemessen autorisiert sind.


Dies war ein gemeinsames Projekt mit @Moin – ihr Input, ihre Inspiration und ihr Feedback waren von unschätzbarem Wert.

9 „Gefällt mir“

Ich scheine eine 404 beim Repository zu bekommen.

EDIT: Alles gut jetzt!

2 „Gefällt mir“

haha versuch es noch einmal. Habe vergessen, es öffentlich zu machen! :laughing:

6 „Gefällt mir“

Fantastisch! Das wollte ich schon seit einiger Zeit. Ich habe eine schöne Sammlung nützlicher benutzerdefinierter Seitenleistenmenüs für mich erstellt – Links für Moderation, für Admin-Aufgaben & Referenzen, für die Discourse-Dokumentation, für externe Inhalte, auf die wir im Forum häufig verweisen, usw. Ein Menü enthält Links für die verschiedenen periodischen Besprechungen, das einfach den tag-Link verwendet, z. B. /tag/comm-mgt-monthly, der mir hilft, schnell zu aktuellen und früheren Tagesordnungen und Protokollen zu springen.

Ich habe mir oft gewünscht, eine Möglichkeit zu haben, meine benutzerdefinierten Seitenleistenmenü-Konfigurationen zu exportieren, damit andere in meinem Team sie importieren können – das ist eine weitaus überlegene Konfiguration!

Und Icons! Juhu! Soweit ich weiß, war der einzige Weg, dies zu tun, das Hinzufügen von benutzerdefiniertem CSS. Diese neue Lösung ist elegant.

Und nachhaltig! Alle Administratoren können die Konfigurationsdateien bearbeiten, sodass sie nicht nur von mir abhängig sind. Danke @Lilly und @Moin!

1 „Gefällt mir“

Hallo @Lilly und @Moin,

Vielen Dank für die Entwicklung dieser Komponente.

Ich habe Group sidebar menu sections - deprecated auf meiner selbst gehosteten Seite verwendet und wurde bei meinem letzten Update darauf hingewiesen, dass die ältere Themenkomponente veraltet sei und stattdessen diese hier installiert werden solle.

Ich habe die Komponente installiert und mein benutzerdefiniertes Gruppenmenü erstellt, sehe aber einfach nicht, wie ich das Gruppenmenü verschieben kann. (Ich muss etwas Offensichtliches übersehen. :see_no_evil_monkey:) Auf Ihren Screenshots befinden sich Ihr Cat Menu und Dog Menu in der Seitenleistennavigation über dem Abschnitt Topics, aber mein benutzerdefiniertes Gruppenmenü wird ganz unten in meiner Seitenleistennavigation angezeigt. Wie verschiebe ich es über Topics?

1 „Gefällt mir“

Es ist nicht offensichtlich. Lilly hat Discourse Sidebar Menu Reorder verwendet, um cat-menu an die Spitze zu setzen.

2 „Gefällt mir“

Vielen Dank! Das war sehr einfach einzurichten.

2 „Gefällt mir“