| 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 | |
| Neu bei Discourse-Themes? | Anfängerleitfaden zur Verwendung von Discourse-Themes |
Dieses Theme-Modul 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.
Hauptfunktionen:
- Gruppenbasierte Menüsichtbarkeit – Menüabschnitte werden nur in der Seitenleiste für autorisierte Benutzer gerendert
- Objektbasierte Konfiguration – Benutzerfreundliche 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 den Menüköpfen verlinkt Administratoren direkt auf die 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 der Eltern- oder Partnerwebsites
Einstellungen
Menüabschnitte (menu_sections)
Öffnet den Objekt-Einstellungseditor, um benutzerdefinierte Gruppen-Menü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). Möglicherweise muss es unter Admin > Alle Seiteneinstellungen > SVG-Symbol-Teilmenge 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) |
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.
Beispiel-Szenario mit 2 benutzerdefinierten Menüs und 3 Benutzern, davon einer Admin:
@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. Da sie jedoch auch Forum-Admin ist, hat sie Zugang zumCat Menu, weil Katzen mehr Aufsicht benötigen![]()
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 des resultierenden Seitenleistenmenüzugriffs
Benutzer @Catra hat das Cat-Menü! ![]()
Benutzer @HelloKitty hat das Dog-Menü! ![]()
Der Admin-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 im Abschnittskopf, das auf die Komponenteneinstellungen verlinkt.
Gruppenkonfiguration
- Die Gruppe
everyonewird nicht unterstützt – Verwende die native Seitenleisten-Fußzeile, 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 doppelte Abschnitte mit unterschiedlichen Gruppenzuweisungen.
- Benutzer in mehreren Gruppen sehen alle Menüabschnitte, auf die sie Zugriff haben.
Testen & Organisation
Verwende Testkonten, um den korrekten Zugriff für verschiedene Gruppenkombinationen zu überprüfen. Halte deine Menükonfigurationen übersichtlich, um Verwirrung zu vermeiden, sobald die Komplexität zunimmt; für größere Foren mit vielen Gruppen wird eine Zugriffs-Matrix oder eine ähnliche Dokumentation empfohlen.
Sicherheitsüberlegungen
Diese Komponente bietet nur eine UI-Ebene für die 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 echte Ressourcen zu sichern:
- Konfiguriere Kategorienberechtigungen ordnungsgemäß
- Setze Einschränkungen für die Sichtbarkeit von Themen
- Verwende gruppenbasierte Zugriffskontrollen für Inhalte
- Stelle sicher, dass private Ressourcen eine Authentifizierung erfordern
Best Practices für Administratoren:
Konfiguriere verknüpfte Kategorienberechtigungen und Gruppenmitgliedschaften separat – beispielsweise muss ein Menülink zu einer privaten Kategorie so konfiguriert sein, dass die Berechtigungen dieser Kategorie ordnungsgemäß eingerichtet 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 – ihre Inputs, Inspiration und ihr Feedback waren unschätzbar wertvoll.
Schau dir meine anderen Discourse-Projekte an







