Seitenleistenmenü neu anordnen

:information_source: Zusammenfassung Ermöglicht das Neuanordnen der Standard- und benutzerdefinierten Seitenleistenmenüabschnitte
:eyeglasses: Vorschau https://discourse.theme-creator.io/theme/Lilly/discourse-sidebar-menu-reorder
:hammer_and_wrench: Repository https://github.com/Lillinator/sidebar-menu-reorder
:question: Installationsanleitung So installieren Sie ein Theme oder Theme-Komponente

Diese Theme-Komponente installieren

:bulb: Einführung

Ich habe zahlreiche Anfragen von Discourse-Administratoren gesehen, die die Reihenfolge der Seitenleistenmenüabschnitte, einschließlich globaler benutzerdefinierter Abschnitte, ändern möchten. Da dies mit CSS für die meisten Nutzer derzeit nicht sehr intuitiv oder einfach ist und zudem schwer zu verwalten und anzupassen ist, habe ich eine Theme-Komponente erstellt, die dies über die Admin-Oberfläche viel einfacher macht.

:woman_technologist:t2: Übersicht

Diese Discourse-Theme-Komponente ermöglicht es Administratoren, die Seitenleistenmenüabschnitte ihres Forums in der Admin-Benutzeroberfläche neu anzuordnen, einschließlich aller Standardabschnitte sowie aller global sichtbaren benutzerdefinierten Abschnitte.

Die Komponente funktioniert sowohl für die Desktop- als auch für die Mobilansicht der Seitenleiste sowie für das Header-Dropdown-Modus (obwohl sie idealerweise für den Seitenleistenmodus entwickelt wurde).


:wrench: Installation & Konfiguration

  • Installieren Sie diese Theme-Komponente gemäß der Einsteigeranleitung für die Verwendung von Discourse-Themes.
  • Der Abschnitt community bezieht sich auf den Standard-oberen Abschnitt der Seitenleiste – das Menü mit der Überschrift Themen – und enthält das Untermenü Mehr; es wird empfohlen, nicht mehr als ein oder zwei Abschnitte (Standard oder benutzerdefiniert) über den community-Abschnitt zu verschieben.
  • Löschen Sie keine der Standardabschnitte in der Einstellung, da sie sonst nicht mehr in der richtigen Reihenfolge erscheinen (Sie können sie jederzeit wieder hinzufügen oder die Einstellung zurücksetzen).
  • Der beste Weg, diese Komponente zu konfigurieren, besteht darin, den Admin-Bildschirm der Komponente mit der Einstellungsliste zur Neuanordnung in einem Browserfenster und die Forum-Seitenleiste als Testnutzer in einem danebenliegenden Fenster zu öffnen; laden Sie die Seite nach jeder Änderung der Reihenfolge der Menüabschnitte in der Liste neu.
  • Verwenden Sie in der Komponenteneinstellung unbedingt das Slug-Namensformat für benutzerdefinierte Abschnitte, da diese sonst ignoriert werden (z. B. custom-menu-name für „Benutzerdefiniertes Menü“, useful-links für „Nützliche Links“ usw.)

:gear: Einstellungen

Einstellung Beschreibung
Seitenleistenmenü-Reihenfolge Eine Listeneinstellung, die die Standardmenüabschnitte enthält. (community ist der Standard-oberste Abschnitt in der Seitenleiste und enthält das Untermenü Mehr.) Ordnen Sie die Menüabschnitte mit den Pfeilen nach oben und unten auf der Seite neu an. Global sichtbare benutzerdefinierte Abschnitte können ebenfalls hinzugefügt werden – verwenden Sie den Slug des Menünamens (z. B. für ein benutzerdefiniertes Menü mit dem Titel Test-Menü, fügen Sie test-menu in die Einstellung ein).

Die Theme-Komponente hat initially die Standardeinstellungen. Administratoren müssen alle globalen benutzerdefinierten Menüabschnitte, die sie in die Reihenfolgeliste aufnehmen möchten, hinzufügen und diese dann zusammen mit den Standardabschnitten neu anordnen.

Screenshot der Standardkomponenteneinstellungen


:camera_flash: Screenshots

Die untenstehenden Screenshots zeigen den community-Abschnitt sowie zwei Beispiel-benutzerdefinierte Menüabschnitte namens „Dev-Links“ (dev-links) und „Toolbox“ (toolbox), wie sie im Komponente-Admin-Panel links und für einen regulären Nutzer rechts erscheinen. Die Pfeile zum Verschieben eines Menüabschnitts nach oben oder unten in der Komponenteneinstellung sind im kleinen roten Kasten dargestellt.


Hier ist die Einstellung so konfiguriert, dass der Standardabschnitt categories über dem community-Abschnitt angezeigt wird (eingeklappter und ausgeklappter Modus):

Hier ist ein Beispiel mit zwei benutzerdefinierten Abschnitten: einer namens dev-links, der über dem Standardabschnitt community liegt, und einem anderen namens toolbox, der unter dem Standardabschnitt tags platziert ist.

Beachten Sie außerdem den Abschnitt namens inbox-section im obigen Admin-Screenshot – dies ist der Abschnitt Nachrichten, den die Komponente Nachrichtenabschnitt für die Seitenleiste in die Seitenleiste einfügt (unter dem oben genannten benutzerdefinierten Menü toolbox), was zeigt, dass diese Komponente auch verwendet werden kann, um ihn zu verschieben.

Zusätzlich kann diese Theme-Komponente zusammen mit den Komponenten Gruppenseitenleistenmenüs und Eingerückte Unterkategorien verwendet werden (siehe obiger Screenshot).


:backhand_index_pointing_right: Hinweise

  • Nachdem neue globale benutzerdefinierte Abschnitte zur Einstellung sidebar_menu_order hinzugefügt wurden, sehen die Forumnutzer die neue korrekte Menüreihenfolge, wenn sie ihren Browser neu laden oder die Seitenleiste einklappen/ausklappen.
  • Das Erstellen neuer globaler benutzerdefinierter Menüabschnitte, während diese Komponente aktiviert ist, kann für den Administrator vorübergehend zu doppelten Abschnitten führen, bis die Seitenleiste neu gerendert wird, entweder durch einen Seiteneffekt oder durch Einklappen und Ausklappen.
  • Von Nutzern erstellte benutzerdefinierte Menüabschnitte erscheinen immer am unteren Ende der Seitenleiste für diesen Nutzer, sind ansonsten jedoch nicht betroffen.
  • Wenn die Einstellung Admin -> Alle Site-Einstellungen -> Chat Separate Sidebar Mode auf Always gesetzt ist, erscheint die Chat-Schaltfläche wie üblich am unteren Ende, und die Komponente ignoriert die Standard-Chat-Menüabschnitte (chat-dms, chat-channels und chat-search).

Schauen Sie sich meine anderen Discourse-Angebote an
28 „Gefällt mir“

Das ist so toll. Ich benutze wirklich gerne das Setup mit den Kategorien (1) und dann dem Chat (2). Vielen Dank für deine tolle Arbeit, Lilly

4 „Gefällt mir“

Wird dies noch unterstützt? Ich habe versucht, es zu installieren, und erhielt die folgende Fehlermeldung. Ich habe es von hier und auch mithilfe der manuellen Anweisungen versucht.

Ja, das ist es. Der Link in der Schaltfläche „Diese Theme-Komponente installieren“ ist veraltet, aber der Link oben ist immer noch korrekt und Sie können ihn verwenden, um die Komponente manuell zu installieren.

Oder Sie probieren diese Schaltfläche

Diese Theme-Komponente installieren

2 „Gefällt mir“

Ich habe gerade den Link in der Installationsschaltfläche in der ursprünglichen Nachricht korrigiert, also ist jetzt alles in Ordnung.

4 „Gefällt mir“

Ich bin auf einen kleinen Fehler gestoßen, bei dem die angegebene Reihenfolge nicht funktioniert, wenn ich einen ungewöhnlich schmalen „Desktop“-Bildschirm habe – wie auf meinem Falttelefon.

So möchte ich, dass es aussieht:

   

Wenn ich einen seltsam großen Bildschirm habe (scheint eine Breite von etwa 640-820 zu sein), verliere ich die Reihenfolge:

1 „Gefällt mir“

oh gott, die Rückkehr der 2-Spalten-Seitenleiste. Ich dachte, dieses Ding wäre weg? Ich werde es mir ansehen…

4 „Gefällt mir“

Tatsächlich war ich etwas begriffsstutzig! Ich habe die alte Komponente verwendet und es nicht einmal bemerkt.

Allerdings ist mir eine Sache aufgefallen: Was als community bezeichnet wurde, heißt jetzt stattdessen the-forum. Hier ist ein PR, um das in den Standardeinstellungen aufzuräumen:

1 „Gefällt mir“

In meinem Forum heißt es immer noch community und hier auf Meta auch.


Ich frage mich, wie Sie es geändert haben.

2 „Gefällt mir“

Das ist in der Tat seltsam! Ich erinnere mich, dass ich den Text darin irgendwann geändert habe, wenn ich jetzt darüber nachdenke. Aber ich bin mir nicht sicher, wie das in den HTML-Code gelangt ist!

Ich werde diesen PR zurückziehen und noch etwas grübeln. Es könnte ein „Eigenart“ meiner Seite bleiben!

1 „Gefällt mir“

Sie sollten in der Lage sein, einige Rails-Befehle auszuführen, um es zurückzubenennen. Wenn Ihr Abschnitt tatsächlich the-forum heißt, dann sollte dies meiner Meinung nach von der Rails-Konsole aus funktionieren:

cd /var/discourse
./launcher enter app
rails c
section = SidebarSection.find_by(title: 'the-forum', public: true)
if section
  section.update!(title: 'community')
  puts "Fertig: in 'community' umbenannt."
else
  puts "Abschnitt nicht gefunden."
end

Sichern Sie auf jeden Fall vorher.

3 „Gefällt mir“

Habe es endlich ausprobiert. Es hat den Abschnitt jedoch nicht gefunden:

Ich denke, das wird wohl einfach eine Eigenart der Seite bleiben, oder?

1 „Gefällt mir“

(Beitrag vom Autor gelöscht)

2 „Gefällt mir“

Hinweis: Ich habe gerade einige Mobile-Fixes für diese Komponente gepusht – sie renderte zuvor die horizontalen Linien zwischen den Sidebar-Abschnitten, die nur auf Desktop- oder Tablet-Ansichten angezeigt werden sollten.

2 „Gefällt mir“

Ich verwende diese wunderbare Theme-Komponente zusammen mit Lillys ebenso wunderbarer https://meta.discourse.org/t/discourse-group-sidebar-menus/394653-Komponente. Mein Anwendungsfall besteht darin, benutzerdefinierte Menüs für Kunden zu erstellen, sodass jeder in einer Organisation schnell auf für ihn relevante Links zugreifen kann, direkt oben, nach dem Community-Bereich.

Ich möchte zukünftigen Reisenden (einschließlich mir selbst) darauf hinweisen, dass der Name des Seitenleistenabschnitts sehr empfindlich ist und exakt übereinstimmen muss, wobei Leerzeichen im Namen durch Bindestriche ersetzt werden. Aus „Doing business“ wird also „doing-business“.

Das ist alles gut und schön, aber als ich den Gruppen-Seitenleistenabschnitt erstellt habe, habe ich versehentlich ein Leerzeichen am Ende des Gruppennamens gesetzt, was zu „doing-business-“ wurde. Es dauerte etwas Fehlersuche mit den Entwicklertools, bis ich das herausfand.

Diese Funktionen sind mir so wichtig, dass ich mich sehr freuen würde, wenn sie als Core-Funktionen berücksichtigt würden, damit sie auf jeder Discourse-Website leichter verfügbar und einfacher zu verwenden sind. :folded_hands:

2 „Gefällt mir“

Danke, Tobias. Ich habe bereits erwähnt, dass in der Beschreibung der Einstellung die Slug-Namen der Sektionen zu verwenden sind, und dies ist auch in den Screenshot-Beispielen angegeben (siehe „dev-links“ = DEV LINKS). [quote=“Lilly, post:1, topic:394049”]
Auch global sichtbare benutzerdefinierte Sektionen können hinzugefügt werden – verwenden Sie den Slug-Namen des Menüs (z. B. für ein benutzerdefiniertes Menü mit dem Titel „Test Menu“ fügen Sie test-menu in der Einstellung hinzu).
[/quote]

Vielleicht sollte ich das noch an anderer Stelle als in den Einstellungsbeschreibungen erwähnen. :thinking:

Edit: erledigt

6 „Gefällt mir“