Discourse-Seitenleiste: Menü neu anordnen

:information_source: Zusammenfassung Ermöglicht das Neuordnen der Standard- und benutzerdefinierten Seitenleisten-Menüabschnitte
: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
:open_book: Neu bei Discourse-Themen? Anfängerleitfaden zur Verwendung von Discourse-Themen

Diese Theme-Komponente installieren

:bulb: Einführung

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

:woman_technologist:t2: Übersicht

Diese Discourse-Theme-Komponente ermöglicht es Administratoren, die Menüabschnitte der Seitenleiste ihres Forums in der Benutzeroberfläche des Admins neu zu ordnen. Dies umfasst alle Standardabschnitte sowie alle global sichtbaren benutzerdefinierten Abschnitte.

Die Komponente funktioniert sowohl für Desktop- als auch für mobile Seitenleistenansichten sowie für den Dropdown-Modus in der Kopfzeile (obwohl sie idealerweise für den Seitenleistenmodus entwickelt wurde).


:wrench: Installation & Konfiguration

  • Installieren Sie diese Theme-Komponente gemäß dem Anfängerleitfaden zur Verwendung von Discourse-Themen.
  • Der Abschnitt community bezieht sich auf den standardmäßigen oberen Bereich 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 Abschnitt community zu verschieben.
  • Löschen Sie keinen der Standardabschnitte in der Einstellung, da sie sonst aus der Reihenfolge geraten (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 zur Neuordnung der Liste in einem Browserfenster und die Seitenleistenansicht des Forums als Testbenutzer in einem anderen daneben zu haben. Laden Sie die Seite nach jeder Änderung der Menüabschnittsreihenfolge in der Liste neu.

:gear: Einstellungen

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

Die Theme-Komponente verfügt standardmäßig über die Standardeinstellungen. Administratoren müssen alle globalen benutzerdefinierten Menüabschnitte, die sie in die Ordnungsliste einfügen möchten, hinzufügen 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 Komponenteneinstellung sind im kleinen roten Kasten dargestellt.


Hier ist die Einstellung so konfiguriert, dass der Standardabschnitt categories über dem Abschnitt community angezeigt wird (in den Modi „zusammengeklappt“ und „aufgeklappt“):

Hier 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 außerdem den Abschnitt 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 benutzerdefinierten Menü toolbox oben), was zeigt, dass diese Komponente auch verwendet werden kann, um ihn zu verschieben.

Darüber hinaus kann diese Theme-Komponente zusammen mit den Komponenten Gruppen-Seitenleistenmenüs und Eingerückte Unterkategorien 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 zusammenklappen/aufklappen.
  • 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 Aktualisieren der Seite oder durch Zusammenklappen und Aufklappen.
  • Benutzer erstellte benutzerdefinierte Menüabschnitte erscheinen immer am unteren Ende der Seitenleiste für diesen Benutzer, sind aber ansonsten nicht betroffen.
  • Wenn die Einstellung Admin -> Alle Site-Einstellungen -> Chat getrennter Seitenleistenmodus auf Immer gesetzt ist, erscheint die Chat-Schaltfläche wie üblich am unteren Rand, und die Komponente ignoriert die standardmäßigen Chat-Menüabschnitte (chat-dms, chat-channels und chat-search).

Schauen Sie sich meine anderen Discourse-Inhalte an
26 „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“