Gruppen-Navigationsseitenleiste Menüabschnitte

:information_source: Zusammenfassung Zeigt benutzerdefinierte Navigationsmenüabschnitte für bestimmte Gruppen an
:hammer_and_wrench: Repository https://github.com/Lillinator/group-menu-sections
:question: Installationsanleitung Wie man ein Theme oder eine Theme-Komponente installiert
:open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Diese Theme-Komponente installieren

Diese Theme-Komponente ermöglicht die Anzeige von benutzerdefinierten Discourse-Navigationsmenüabschnitten (Seitenleiste) nur für bestimmte Benutzergruppen (einschließlich Vertrauensstufen und Standardgruppen). Die Komponente erlaubt die Verwendung von bis zu acht benutzerdefinierten Menüabschnitten und beliebig vielen Gruppen für jeden angegebenen Abschnitt. Verwenden Sie Kleinbuchstaben für die Namen der Menüabschnitte, getrennt durch Bindestriche (z. B. „Superuser Menu“ = superuser-menu, „Staff Menu“ = staff-menu). Die Gruppen werden über Dropdown-Auswahlfelder aus Ihren verfügbaren Gruppen ausgewählt.

Beachten Sie, dass die in dieser Komponente angegebenen benutzerdefinierten Abschnitte als öffentlich und für alle sichtbar eingerichtet sein müssen. Um einen neuen Gruppen-Navigationsmenüabschnitt zu erstellen, erstellen Sie wie gewohnt einen öffentlichen Abschnitt und fügen Sie ihn dann in den Einstellungen dieser Komponente zusammen mit den Gruppen hinzu, für die er sichtbar sein soll. Sie können den Abschnitt in den Komponenteneinstellungen festlegen, bevor Sie Ihren benutzerdefinierten Abschnitt einrichten, solange Sie den korrekten Abschnittsnamen verwenden – dies verhindert, dass der Abschnitt für alle angezeigt wird, bevor Sie ihn mit der Komponente einschränken.

Obwohl diese Komponente für benutzerdefinierte Abschnitte gedacht ist, kann sie auch für alle vorhandenen Abschnitte des Navigationsmenüs verwendet werden (z. B. Kategorien, Tags, Kanäle, privater Chat und sogar der inzwischen veraltete obere Abschnitt „community“). Sie können beispielsweise bestimmten Gruppen wie Superuser und Staff benutzerdefinierte Menüs anzeigen und gleichzeitig Tags und Kanäle für eine neue Benutzergruppe (trust_level_0) ausblenden. Wenn Sie einen bestimmten Menüabschnitt nur für Forenmitglieder anzeigen möchten (für anonyme Benutzer ausblenden), können Sie ihn so einstellen, dass er für die Gruppe trust_level_0 angezeigt wird.

:arrow_right: Die Gruppensichtbarkeit muss in den Gruppeneinstellungsinteraktionen für alle Gruppen, die Sie für diese Komponente verwenden möchten, auf „Jeder“ eingestellt sein.


Einstellungen:

Liste der Einstellungen
Name Beschreibung
menu 1 Benutzerdefinierter Menüabschnitt 1, der den unten angegebenen Gruppen angezeigt werden soll. Verwenden Sie Kleinbuchstaben-Slug-Namen.
display menu 1 for these groups only Dropdown-Auswahl der verfügbaren Gruppen für Menü 1. Die Gruppensichtbarkeit muss in den Gruppeneinstellungen auf „Jeder“ eingestellt sein.
menu 2 - 8 Die benutzerdefinierten Menüabschnitte, die den Gruppen in der jeweiligen Gruppeneinstellung angezeigt werden sollen.
display menu 2 - 8 for these groups only Dropdown-Auswahl der verfügbaren Gruppen für Menüs 2 - 8.
hide custom menus globe icon Blendet das Globus-Symbol für das Personal aus (nicht anwendbar für Nicht-Personal)

Screenshots:

Erforderliche Einstellungen für die Gruppensichtbarkeit

Screenshot, der die ersten Einstellungen mit der Gruppenauswahl zeigt

Einstellung zum Ausblenden des Globus


Bitte beachten Sie, dass diese Komponente im Allgemeinen für das Navigationsmenü im Seitenleistenmodus vorgesehen ist, aber vorerst auch im Header-Dropdown funktioniert. Funktioniert auch für Desktop- und mobile Ansichten.

25 „Gefällt mir“

Wow, das habe ich wirklich gebraucht, sehr nützlich, vielen Dank. Ich liebe Ihre Arbeit und Ihre Komponenten für Discourse.

2 „Gefällt mir“

Danke Tiago! :blush:

2 „Gefällt mir“

Hallo, danke fürs Teilen!

Kann diese Komponente verwendet werden, um einen benutzerdefinierten Link hinzuzufügen, der nur für bestimmte Gruppen im oberen Standardbereich sichtbar ist?

Nein, diese Komponente ist nur für Abschnitte, nicht für Links. Sie können jedoch einen benutzerdefinierten Abschnitt mit einem Link darin erstellen.

1 „Gefällt mir“

Ich werde diese Funktion vielleicht irgendwann hinzufügen, denke ich. Wenn Sie das wirklich wollen, kann ich eine spezielle Komponente für Sie erstellen oder Ihnen zeigen, wie es geht.

4 „Gefällt mir“

Wie mache ich das Gegenteil, also einen Bereich nur für anonyme Benutzer anzeigen? Ich möchte separate Bereiche für anonyme Benutzer und Forenmitglieder (eingeloggte Benutzer) erstellen.

Oh, gute Frage. So würde ich es machen:

Schritt 1:

Erstellen Sie einen neuen benutzerdefinierten Navigationsmenüabschnitt, nennen Sie ihn zum Beispiel „Anon Menu“ (Sie können ihn nennen, wie Sie möchten, aber merken Sie sich den Namen) und machen Sie ihn zu einem öffentlichen Abschnitt (Kontrollkästchen unten im Modal).

Schritt 2:

Fügen Sie dann im Common-CSS eines Themes oder einer Theme-Komponente, die Sie erstellen, diesen CSS-Code ein. Ersetzen Sie „anon-menu“ durch den Abschnittsnamen-Slug des von Ihnen in Schritt 1 erstellten Menüabschnitts (z. B. Custom Section = custom-section).

.sidebar-section-wrapper.sidebar-section[data-section-name="anon-menu"] {
        display: none;
}

.anon .sidebar-section-wrapper.sidebar-section[data-section-name="anon-menu"] {
        display: block;
}

Tatsächlich gefällt mir diese Idee als Anwendungsfall und ich werde sie beim nächsten Update in die Komponente aufnehmen. Ich baue ein JSON-Schema-Modal für die Einstellungen der Komponente, damit die Konfiguration etwas intuitiver ist.

1 „Gefällt mir“

Danke. Das ist komplexer, als ich erwartet hatte, allein schon aus Wartungssicht würde ich mich nach ein paar Monaten nicht mehr daran erinnern, was ich getan habe.

EDIT: Mein Versuch, eine Gruppe anonymer Benutzer zu erstellen, funktioniert NICHT, da dies nur für die anonyme Funktion gilt, d. h. wenn sich ein angemeldeter Benutzer nach der Anmeldung in den anonymen Modus versetzt und nicht für wirklich anonyme Benutzer (Benutzer, die kein Konto haben).

Oh, entschuldigen Sie, ich habe Sie missverstanden – mir war nicht klar, dass Sie den anonymen Modus meinten, ich dachte, Sie meinten nicht angemeldete Benutzer. :woman_facepalming:t2:

Ein weiterer Vorschlag: Es wäre großartig, wenn es die Liste der Gruppen lesen und ein Dropdown-Menü anbieten könnte, um aus einer Liste verfügbarer Gruppen auszuwählen, damit man keine Tippfehler beim Schreiben des Gruppennamens macht.

1 „Gefällt mir“

Ja, das ist richtig, ich beziehe mich auf nicht angemeldete Benutzer, Leute, die auf der Website landen und sich nicht angemeldet haben oder kein Konto haben.

Ich habe oben etwas versucht, aber es hat nicht funktioniert, weil das eine völlig andere Funktion ist (es hat mehr Verwirrung gestiftet, als es sollte, und das tut mir leid).

Wenn Sie meine obige Methode verwenden, sollte sie funktionieren. Ohne die andere anonyme Modusfunktion :slight_smile:

Ich werde jedoch einige Optionen speziell für anonyme Benutzer hinzufügen, wenn ich diese Komponente das nächste Mal aktualisiere, was bald sein sollte.

1 „Gefällt mir“

Ich werde auf Ihr Theme-Update warten, es ist nicht angenehm, Themes manuell anzupassen, und es wird zu einem Wartungsalbtraum für die “Unwissenden” :slight_smile:

Nur ein Link zu meiner anderen Antwort und die Lösung hier für alle anderen, die Ihre Frage hier lesen könnten.

Ich werde dies zu einem bevorstehenden Update der Navigationsmenü-Modifikator-Komponente hinzufügen.

1 „Gefällt mir“

Ich habe diese Komponente mit Dropdown-Auswahlfeldern für Gruppen aktualisiert, die mit den verfügbaren Gruppen gefüllt werden. Außerdem wurde die Anzahl der Menüabschnitte auf acht erhöht und ein Globus-Symbol-Ausblender hinzugefügt.

2 „Gefällt mir“

Hallo!
Ich habe gerade diese fantastische Theme-Komponente installiert :ballot_box_with_check:

Bei der Einrichtung hatte ich eine Frage:

  1. In den obigen Anweisungen haben Sie ein Beispiel für den Namen des Menüabschnitts gegeben, z. B. Sectionname Menu=sectionname-menu

image


In meinem Fall ist der Name des Menüabschnitts auf Russisch geschrieben, zum Beispiel „Сотрудники“ (Englisch: Staff).


Wie schreibe ich diesen Abschnittsnamen in die Zeile menu 1? Russische Buchstaben oder lateinische?
Vielleicht so:

image

oder so

image

Ist das Wort “menu” ein erforderliches Attribut im Text? :sweat_smile:

Ich habe alle Methoden ausprobiert, aber bisher hat nichts funktioniert.

Ich habe alle Gruppen öffentlich gemacht, wie Sie in den Anweisungen vorgeschrieben haben.

  1. Es scheint, dass ich die Sichtbarkeit des Abschnitts “Community” für bestimmte Gruppen mit dieser Theme-Komponente nicht einstellen kann?
1 „Gefällt mir“

Oh nein, das ist es nicht. Ich hatte das nur als Teil des Beispielmenünamens. Wenn der Menünamen zum Beispiel „Benutzerinformationen“ lautet, dann wäre es „benutzer-informationen“. Am besten ist es, wenn Sie beim Erstellen des Menüabschnitts den Namen im Feld „Abschnittstitel“ verwenden und ihn in Kleinbuchstaben und mit Bindestrichen für Leerzeichen in ein Slug-Format umwandeln.

Dann in den Einstellungen der Theme-Komponente:

Ich denke, russische? Was auch immer im Feld „Abschnittstitel“ steht, das ich im ersten Screenshot mit einem Pfeil markiert habe, aber mit Kleinbuchstaben und Bindestrichen für Leerzeichen.

Ich habe diese Konfiguration gerade in meinem Screenshot getestet und sie funktioniert.

Haben Sie den Community-Abschnitt jemals auf Russisch umbenannt? Wenn nicht, sollte „community“ funktionieren (ich nehme an, Sie meinen den oberen, unbenannten Standard-Menüabschnitt).

1 „Gefällt mir“

Wenn ich den Abschnittsnamen in lateinischen Buchstaben schreibe, funktioniert alles einwandfrei:


Und wenn ich den Abschnittsnamen in kyrillischer Schrift (Russisch) schreibe, funktioniert es nicht.