| Zusammenfassung | Benutzerdefinierte Seitenleistenmenüs für ausgewählte Gruppen erstellen | |
| Vorschau | Tritt dieser Theme Creator-Gruppe bei und sieh dir die Vorschau hier an | |
| Repository | https://github.com/Lillinator/discourse-group-sidebar-menus | |
| Installationsanleitung | So installierst du ein Theme oder eine Theme-Komponente |
Dieses Theme-Komponente installieren
Überblick
Diese Discourse-Theme-Komponente ermöglicht es Forum-Administratoren, benutzerdefinierte Seitenleistenmenüs zu erstellen, die nur für Mitglieder ausgewählter Gruppen zugänglich sind.
Hauptmerkmale:
- Gruppenbasierte Menüsichtbarkeit – Menüabschnitte werden nur in der Seitenleiste für autorisierte Benutzer gerendert
- Objektbasierte Konfiguration – Einfach zu bedienende Einstellungs-UI zum Erstellen von Menüs
- Mehrere Abschnitte – Erstelle unbegrenzt viele Menüabschnitte für verschiedene Gruppen (innerhalb vernünftiger Grenzen)
- Admin-Schnellbearbeitungslink – Das Stiftsymbol in Menüüberschriften verlinkt Administratoren direkt zu den Komponenteneinstellungen
Einige Anwendungsfälle
- Ressourcen und Schnelllinks nur für Mitarbeiter
- Abkürzungen für Kategorien-Moderatoren
- Benutzerdefinierte Gruppenportale (Projektteams, Lerngruppen, Buchclubs, VIP-Mitglieder)
- Links zu Ressourcen von Partner- oder Mutterwebsites
Einstellungen
Menüabschnitte (menu_sections)
Öffnet den Objekt-Einstellungseditor, um benutzerdefinierte Gruppenmenüabschnitte zu konfigurieren.
Abschnittseigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| Menütitel | Titel, der als Kopfzeile des Seitenleistenabschnitts angezeigt wird |
| Erlaubte Gruppen | Gruppen, die diesen Menüabschnitt sehen dürfen (max. 20 Gruppen pro Abschnitt) |
| Menülinks | Sammlung von Links, die in diesem Abschnitt angezeigt werden (max. 20 Links pro Abschnitt) |
Link-Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| Symbol | FontAwesome-Symbolname (z. B. circle-info, star, user-group). Muss möglicherweise unter Admin > Alle Site-Einstellungen > SVG-Symbol-Subset hinzugefügt werden |
| Text | Anzeigetext für den Link |
| URL | Linkziel – unterstützt sowohl relative Pfade (/faq, /my/preferences) als auch absolute URLs (https://example.com) |
Installation und Konfiguration
- Installiere die Theme-Komponente gemäß Installing a theme or theme component.
- Gehe zum
Objekt-Einstellungseditor. - Klicke auf die Schaltfläche
+ new_menu_section, um den ersten benutzerdefinierten Menüabschnitt einzurichten. - Gib dem neuen Menü im Feld
Menu titleeinen Titel und wähle dann die Gruppen aus, die Zugang dazu haben sollen. - Klicke auf
+ new_menu_section, um einen weiteren Abschnitt hinzuzufügen, oder speichere die Änderungen.
Admin-Konfigurations-Screenshots mit Beispielkonfiguration
Frische Installation – gehe zum Objekt-Einstellungseditor.
Beispielszenario mit 2 benutzerdefinierten Menüs und 3 Benutzern, wobei einer Administrator ist:
@Catraliebt Katzen und ist Mitglied der Gruppepink, die Zugang zumCat Menuhat.
@HelloKittymag Hunde und ist Mitglied der Gruppepurple, die Zugang zumDog Menuhat.
@Lillyist Mitglied der Gruppepurple, weil sie einen Hund besitzt und Hunde besser sind. Sie ist jedoch auch Forum-Administratorin, und Administratoren haben Zugang zumCat Menu, weil Katzen mehr Aufsicht brauchen![]()
.
Erstelle ein neues benutzerdefiniertes Menü – für unser Beispiel erstelle Cat menu und füge die Gruppen hinzu, die Zugang dazu haben sollen – pink und admins. Klicke dann auf die Schaltfläche + menu_link, um die Links für das neue Menü einzurichten.
Füge die Menülinks hinzu – 1. FontAwesome-Symbolname, 2. Text, der für den Link angezeigt werden soll, und 3. die URL, relativ oder absolut. Klicke auf die Schaltfläche + menu_link, um einen weiteren Link zu diesem Menü hinzuzufügen.
Erstelle einen weiteren benutzerdefinierten Menüabschnitt namens Dog menu, gib nur der Gruppe purple Zugang und konfiguriere die Links:
Screenshots der resultierenden Seitenleistenmenüzugriffe
Benutzer @Catra hat das Cat-Menü! ![]()
Benutzer @HelloKitty hat das Dog-Menü! ![]()
Administrator-Benutzer @Lilly hat beide Menüs und kann sie bearbeiten! ![]()
Konfigurationsbeispiel
Menu Title: "Cat Stuff"
Allowed Groups: team-cat
Links:
- Icon: link
Text: Cat videos & photos
URL: /t/cat-videos-and-photos/123
- Icon: magnifying-glass
Text: Cat wiki
URL: https://en.wikipedia.org/wiki/Cat
Wichtige Hinweise
Admin-Zugang
Administratoren 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 Zugang zu allen benutzerdefinierten Menüs. Dies ist beabsichtigt! Außerdem sehen Administratoren, die zu den erlaubten Gruppen eines Menüs gehören, ein Stiftsymbol in der Abschnittsüberschrift, das zu den Komponenteneinstellungen führt.
Gruppenkonfiguration
- Die Gruppe
everyonewird nicht unterstützt – Verwende die native Seitenleisten-Fußzeile-UI, um globale benutzerdefinierte Menüs für alle Benutzer, einschließlich anonymer Besucher, zu erstellen. - Maximal 20 Gruppen pro Menüabschnitt. Wenn du mehr benötigst, erstelle duplizierte Abschnitte mit unterschiedlichen Gruppenzuweisungen.
- Benutzer in mehreren Gruppen sehen alle Menüabschnitte, auf die sie Zugang haben.
Testen & Organisation
Verwende Testkonten, um den korrekten Zugang für verschiedene Gruppenkombinationen zu überprüfen. Halte deine Menükonfigurationen im Auge, um Verwirrung zu vermeiden, während die Komplexität zunimmt; eine Zugriffsmatrix oder ähnliche Dokumentation wird für größere Foren mit vielen Gruppen empfohlen.
Sicherheitsüberlegungen
Diese Komponente bietet nur eine UI-Ebene für Zugriffskontrolle. Sie steuert die Menüsichtbarkeit, nicht den Ressourcenzugriff – diese Komponente steuert nur, was in der Seitenleiste gerendert wird, nicht wer auf die eigentlichen Ressourcen zugreifen kann.
Verlasse dich immer auf das integrierte Berechtigungssystem von Discourse, um tatsächliche Ressourcen zu sichern:
- Konfiguriere Kategorienberechtigungen ordnungsgemäß
- Setze Sichtbarkeitsbeschränkungen für Themen
- Verwende gruppenbasierte Zugriffskontrollen für Inhalte
- Stelle sicher, dass private Ressourcen eine Authentifizierung erfordern
Beste Praxis für Administratoren:
Konfiguriere verknüpfte Kategorienberechtigungen und Gruppenmitgliedschaften separat – zum Beispiel: Ein Menülink zu einer privaten Kategorie muss so konfiguriert sein, dass die Berechtigungen dieser Kategorie ordnungsgemäß eingestellt sind. Administratoren sind dafür verantwortlich, sicherzustellen, dass Links zu externen Ressourcen für die ausgewählten Gruppen angemessen autorisiert sind.
Dies war ein Gemeinschaftsprojekt mit @Moin – ihr Input, ihre Inspiration und ihr Feedback waren von unschätzbarem Wert.
Schau dir mein anderes Discourse-Material an







