Discourse Seitenleiste neu anordnen

:information_source: Zusammenfassung Ermöglicht das Neuordnen 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 gesehen, die Seitenleisten-Menüabschnitte neu ordnen 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 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 Admin-Benutzeroberfläche neu zu ordnen, einschließlich aller Standardabschnitte sowie aller global sichtbaren benutzerdefinierten Abschnitte.

Die Komponente funktioniert sowohl für die Desktop- als auch für die mobile Seitenleiste sowie für den Header-Dropdown-Modus (obwohl sie idealerweise für den Seitenleisten-Modus konzipiert wurde).


:wrench: Installation & Konfiguration

  • Installieren Sie diese Theme-Komponente gemäß dem Anfängerleitfaden zur Verwendung von Discourse-Themes.
  • Der Abschnitt community bezieht sich auf den Standard-obersten Abschnitt der Seitenleiste – das Menü mit der Überschrift Topics und enthält das 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 keine 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 Neuordnung der Liste in einem Browserfenster und die Seitenleiste des Forums als Testbenutzer in einem weiteren daneben zu haben; laden Sie die Seite nach jeder Änderung der Reihenfolge der Menüabschnitte in der Liste neu.

:gear: Einstellungen

Einstellung Beschreibung
Sidebar menu order Eine Listeneinstellung, die die Standard-Menüabschnitte enthält. (community ist der Standard-oberste Abschnitt 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 an. 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, die sie in die Sortierliste integrieren 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 oder unten in der Einstellung der Komponente sind im kleinen roten Kasten dargestellt.


Hier ist die Einstellung so konfiguriert, dass der Standardabschnitt categories über dem Abschnitt community angezeigt wird (im zusammengeklappten und erweiterten 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 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.

Darüber hinaus 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 zusammenklappen/erweitern.
  • Das Erstellen neuer globaler benutzerdefinierter Menüabschnitte, während diese Komponente aktiviert ist, kann zu vorübergehenden doppelten Abschnitten für den Administrator führen, bis die Seitenleiste neu gerendert wird, entweder durch Aktualisieren der Seite oder durch Zusammenklappen und Erweitern.
  • Benutzerdefinierte Menüabschnitte, die von Benutzern erstellt wurden, erscheinen immer am unteren Ende der Seitenleiste für diesen Benutzer, sind jedoch ansonsten unberührt.
  • 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-Projekte 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“