Seitenleiste-Menü von Discourse neu anordnen

:information_source: Zusammenfassung Ermöglicht das Umsortieren von Standard- und benutzerdefinierten Seitenleisten-Menüabschnitten
:eyeglasses: Vorschau https://discourse.theme-creator.io/theme/Lilly/discourse-sidebar-menu-reorder
:hammer_and_wrench: Repository https://github.com/Lillinator/discourse-sidebar-menu-reorder
:question: Installationsanleitung So installieren Sie ein Theme oder eine Theme-Komponente

Diese Theme-Komponente installieren

:bulb: Einführung

Ich habe mehrere Anfragen von Discourse-Administratoren erhalten, die die Reihenfolge der Seitenleisten-Menüabschnitte ändern möchten, einschließlich globaler benutzerdefinierter Abschnitte. Da dies derzeit für die meisten Menschen mit CSS nicht sehr intuitiv oder unkompliziert ist und die Verwaltung sowie Änderungen daran schwierig sein können, habe ich eine Theme-Komponente erstellt, die dies im Admin-Bereich erheblich vereinfacht.

:woman_technologist:t2: Überblick

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

Die Komponente funktioniert sowohl für die Seitenleistenansicht auf Desktops als auch auf Mobilgeräten sowie im Dropdown-Modus der Kopfzeile (obwohl sie idealerweise für den Seitenleistenmodus konzipiert ist).


:wrench: Installation & Konfiguration

  • Installieren Sie diese Theme-Komponente gemäß dem Einsteigerleitfaden zur Verwendung von Discourse-Themes.
  • Der Abschnitt community bezieht sich auf den oberen Standardabschnitt der Seitenleiste – das Menü mit der Überschrift Topics und dem Untermenü More als Dropdown; es wird empfohlen, nicht mehr als ein oder zwei Abschnitte (Standard oder benutzerdefiniert) über den Abschnitt community zu verschieben.
  • Löschen Sie keinen der Standardabschnitte in der Einstellung, da sie sonst nicht mehr in der richtigen Reihenfolge angezeigt werden (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 Einstellung für die Neuanordnung in einem Browserfenster und die Seitenleistenansicht des Forums als Testbenutzer in einem danebenliegenden Fenster zu haben; laden Sie die Seite nach jeder Änderung der Menüabschnittsreihenfolge in der Liste neu.
  • Verwenden Sie in der Admin-Einstellung der Komponente unbedingt das Slug-Namensformat für benutzerdefinierte Abschnitte, da sie sonst ignoriert werden (z. B. custom-menu-name für „Custom Menu Name“, useful-links für „Useful Links“ usw.).

:gear: Einstellungen

Einstellung Beschreibung
Sidebar menu order Eine Listeneinstellung, die die Standardmenüabschnitte enthält. (community ist der obere Standardabschnitt in der Seitenleiste und enthält das Dropdown-Untermenü More. ) Ordnen Sie die Menüabschnitte mit den Pfeilen nach oben und unten an der Seite neu. Global sichtbare benutzerdefinierte Abschnitte können ebenfalls hinzugefügt werden – verwenden Sie den Menünamens-Slug (z. B. für ein benutzerdefiniertes Menü mit dem Titel „Test Menu“ fügen Sie test-menu in der Einstellung hinzu).

Die Theme-Komponente verfügt zunächst über die Standardeinstellungen. Administratoren müssen alle globalen benutzerdefinierten Menüabschnitte hinzufügen, die sie in die Sortierliste einfügen möchten, und diese dann zusammen mit den Standardabschnitten neu ordnen.

Screenshot der Standardkomponenteneinstellungen


:camera_flash: Screenshots

Die folgenden Screenshots zeigen den Abschnitt community sowie zwei Beispiel-benutzerdefinierte Menüabschnitte namens „Dev Links“ (dev-links) und „Toolbox“ (toolbox), wie sie im Admin-Bereich der Komponente links und für einen regulären Benutzer rechts angezeigt werden. Die Pfeile zum Verschieben eines Menüabschnitts nach oben und unten in der Admin-Einstellung der Komponente sind in der kleinen roten Box dargestellt.


Hier ist die Einstellung so konfiguriert, dass der Standardabschnitt categories über dem Abschnitt community angezeigt wird (im kollabierten und expandierten Modus):

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

Beachten Sie auch den Abschnitt inbox-section im obigen Admin-Screenshot – dies ist der Abschnitt Messages, den die Komponente Messages section for sidebar in die Seitenleiste einfügt (unter dem benutzerdefinierten Menü toolbox oben), was zeigt, dass diese Komponente auch verwendet werden kann, um ihn zu verschieben.

Zusätzlich kann diese Theme-Komponente zusammen mit den Komponenten Group sidebar menus und Indented subcategories verwendet werden (siehe Screenshot oben).


:backhand_index_pointing_right: Hinweise

  • Nach dem Hinzufügen neuer globaler benutzerdefinierter Abschnitte zur Einstellung sidebar_menu_order sehen Forum-Benutzer die neue korrekte Menüreihenfolge, wenn sie ihren Browser neu laden oder die Seitenleiste kollabieren/expandieren.
  • Das Erstellen neuer globaler benutzerdefinierter Menüabschnitte, während diese Komponente aktiviert ist, kann vorübergehend zu doppelten Abschnitten für den Administrator führen, bis die Seitenleiste neu gerendert wird – entweder durch ein Neuladen der Seite oder durch Kollabieren und Expandieren.
  • Benutzerdefinierte Menüabschnitte, die von Benutzern erstellt wurden, erscheinen immer am unteren Rand der Seitenleiste für diesen Benutzer, sind aber ansonsten nicht betroffen.
  • Wenn die Einstellung Admin -> Alle Site-Einstellungen -> Chat Separate Sidebar Mode auf Always gesetzt ist, erscheint die Chat-Taste wie üblich am unteren Rand, und die Komponente ignoriert die Standard-Chat-Menüabschnitte (chat-dms, chat-channels und chat-search).

Schauen Sie sich meine anderen Discourse-Beiträge an
27 „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:

1 „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

4 „Gefällt mir“