Themenliste Sidebar

:information_source: Früher „Discourse Category Sidebars" — der Name dieser Theme-Komponente wurde in Topic List Sidebars geändert, da sie nun sowohl Kategorien als auch Tags unterstützt.

:discourse2: Zusammenfassung Topic List Sidebars nimmt ein Thema und wendet es als Seitenleiste für die Themenliste einer Kategorie oder eines Tags an.
:eyeglasses: Vorschau Vorschau im Discourse Theme Creator
:hammer_and_wrench: Repository-Link https://github.com/discourse/discourse-topic-list-sidebars
:open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Dieses Theme-Modul installieren

Funktionen

Diese Theme-Komponente nimmt ein Thema und wendet es als Seitenleiste für die Themenliste einer Kategorie oder eines Tags an. Diese Seitenleisten sind nur sichtbar, wenn der Browser 767 px oder breiter ist (die meisten Tablets und Monitore).

Was kann ich mit dieser Theme-Komponente tun?

  • Wählen Sie ein Thema aus und zeigen Sie dessen Inhalt als Seitenleiste für eine Kategorie oder ein Tag an.
  • Legen Sie fest, dass eine Seitenleiste auf den Seiten /latest, /new, /unread und /top angezeigt wird, indem Sie all als Kategorienamen in Ihren Einstellungen verwenden.
  • Wählen Sie, ob die Seitenleisten links oder rechts neben der Themenliste erscheinen sollen.
  • Standardmäßig wird die Seitenleiste einer Kategorie auch für alle ihre Unterkategorien angezeigt, es sei denn, eine Unterkategorie hat ihre eigene Seitenleiste definiert (dies können Sie deaktivieren, indem Sie die Einstellung „Übergeordnete Seitenleiste erben" deaktivieren).

Wie konfiguriere ich es?

Wählen Sie Ihre Kategorien und Tags aus und fügen Sie die ID des Themas hinzu (z. B. example.com/t/example-topic/57), das Sie verwenden möchten, um den Inhalt der Seitenleiste zu füllen.

Ich empfehle, Themen für die Seitenleisten in ihren jeweiligen Kategorien/Tags zu erstellen, das Thema zu schließen, damit keine Antworten möglich sind, und es auszublenden (damit es nicht in der Themenliste erscheint).

Beachten Sie, dass Sie ein Thema aus einer privaten Kategorie nicht als Seitenleiste in einer öffentlichen Kategorie verwenden können (technisch ist es möglich, aber Benutzer ohne Zugriff auf dieses private Thema sehen nur eine leere Seitenleiste!).

Einstellungen

Name Beschreibung
sidebars Seitenleisten hinzufügen und entfernen
sidebar side Wählen Sie zwischen Links oder Rechts
inherit parent sidebar Wenn aktiviert, erben Unterkategorien die Seitenleiste ihrer übergeordneten Kategorie (sofern die Unterkategorie keine eigene Seitenleiste zugewiesen hat).

Wenn deaktiviert, zeigen Unterkategorien nur dann eine Seitenleiste an, wenn eine angegeben ist.
stick on scroll Wenn aktiviert, hat die Seitenleiste eine fixierte Position beim Scrollen

Hinweise für Entwickler

Jede Kategorien-Seitenleiste ist mit einer Klasse umschlossen, die den Kategorie-Slug enthält. Für die Kategorie „Mitarbeiter" wäre dies beispielsweise .category-sidebar-staff. Sie können diese Klassen verwenden, um die einzelnen Seitenleisten zu gestalten.

Das Body-Tag auf Seiten mit Seitenleisten enthält ebenfalls eine hinzugefügte Klasse, sodass Sie body.custom-sidebar verwenden können, um Stile auf allen Seiten anzuwenden, die eine Seitenleiste haben.

Credits

:heart: Besonderer Dank geht an @xrav3nz für die Vorarbeit, die dieses Modul erst möglich gemacht hat!


:discourse2: Von uns gehostet? Theme-Komponenten können in unseren Standard-, Business- und Enterprise-Plänen verwendet werden.

59 „Gefällt mir“

Trying to figure out how to make this work with tags as well. (we use tags heavily rather than having tons of categories.)

It looks like it may be about replacing controller:navigation/category with whatever the equivalent for tags is but not sure.

2 „Gefällt mir“

Ich habe gerade einen kurzen Blick darauf geworfen, und es ist möglich, dies für Tags umzusetzen…

Ich werde wahrscheinlich morgen weiter daran arbeiten und es in ein eigenes Repository auslagern.

Genau, das ist der Kern der Sache – dies scheint für Tags zu funktionieren:

const controller = container.lookup("controller:tags-show");
const tag = controller.get("tag");

Update: Ich habe eine Theme-Komponente verfügbar gemacht: Discourse Tag Sidebars.

10 „Gefällt mir“

Since I am using the header submenu plugin, A part of the text is covered by my header bar. It would be great if it was possible to add extra margin/offset or whatever it’s called for the case when additional elements before the header are covering the sidebar’s content.

Also: is there any way to keep the category drop down menu above the sticky sidebar’s content? that would make it easy for users to jump between categories quickly.

altogether I think the category sidebar is a great plugin and has huge potential to add useful information to the forum structure!

Another great plug-in Kris, thanks!

I have a few questions/suggestions that I hope you can help with…

1 - Is it possible to make this so that when a user browses the forum, going from page to page the sidebar always checks for the latest version of the post that it contains? At the moment I think the content of the sidebar only updates on a page refresh? Unfortunately content that rarely changes begins to appear stale to users (particularly active users) and so I’d like to update the topic associated with the sidebar frequently if I can. (Similarly, if the ID of the topic in the options for that page is changed, it would pick it up on the next page-view). I’m quite happy for the additional load per page/view but if you’re worried others may not be perhaps you could add a “cache post contents” option which would make it work like it does now.

2 - Is it possible to associate/pick up content from more than one topic per sidebar please? So for example on the Latests page you might want the content from topics 33,55 (and in that order). This would be great to allow different content per page while also include common info/links that you might want to appear at the bottom of every sidebar.

3 - Is it possible to expand the plugin so it can be used site-wide please? At the moment I think it can only be used on certain pages? Ideally I’d like to use this across the whole forum on all main sections/pages. (Perhaps your tags sidebar plugin could be used in conjunction with this for finer control - eg for individual tags and/or Topics - I think both combined could become a very power sidebar package!!)

4 - Is it possible to add a sidebar width option as well as a configurable cut-off/display-none point please? This isn’t a biggie as it can be done via css changes but think it would be nice to have in the options.

5 - Last but not least… could you get polls to work please? I think allowing users to vote in polls right out of the sidebar would be awesome!!! I find dynamic content like this in sidebars can make them interesting to users, and so less likely that they’ll automatically ignore them.

I think with all the above this plugin would make a very good candidate to be included in core or an official DC plugin - imo it could help people put an individual stamp on their forums and I’m sure people would use them in fun and interesting ways! :smiley:

Hello,

Great component. Is it possible to have such sidebar for each topic under a specific category?

Thanks.

Wie lautet die Syntax, um eine Unterkategorie anzusprechen? Folgende Versuche habe ich bereits unternommen:

category/subcategory,123
subcategory,123
category-subcategory,123

Keines davon scheint zu funktionieren. Die Hauptkategorien werden jedoch angezeigt.

1 „Gefällt mir“

[Zitat=“Ralf_Stockmann, Beitrag:42, Thema:107561”]
Wie lautet die Syntax, um eine Unterkategorie anzusprechen?
[/Zitat]

Hm, irgendjemand bitte? Es sollte nicht so schwer sein, eine Antwort zu geben…

Es sieht so aus, als ob es einen Regression gab und Unterkategorien in einigen Fällen nicht funktioniert haben. Die Syntax sollte dieselbe sein wie bei Kategorien: subcategory, 123.

Ich habe das Theme refaktoriert. Wenn Sie es aktualisieren, sollten Unterkategorien wie erwartet funktionieren!

6 „Gefällt mir“

Das hat funktioniert: perfekt!
Vielen Dank, genau rechtzeitig zu unserer großen Eröffnung.

1 „Gefällt mir“

Tolles Plugin!

Ist das zufällig auch für Gruppen möglich? Eine Seitenleiste für Gruppen wäre großartig, um Informationen über die Gruppe zu geben.

Kann mich jemand in eine Richtung weisen, wie ich die Gruppenparameter erhalte (damit die Komponente weiß, dass sie sich in einer Gruppe befindet), damit ich es versuchen und selbst einen PR erstellen kann?

@hyphalos Ich habe ein Gruppen-Widget erstellt, das zu Seitenleisten des Layout-Plugins hinzugefügt werden kann.

Vielleicht hilft Ihnen der Code, den ich dafür hatte, bei der Erstellung Ihres PR:

Alternativ könnten Sie auch das Layout-Plugin und das Widget selbst verwenden.

2 „Gefällt mir“

Es ist vielleicht etwas kühn zu fragen, da es ja Sidebar heißt, aber: Wäre es möglich, eine Option hinzuzufügen, den Inhalt nicht daneben, sondern immer darüber der Themenliste zu platzieren?

Wir nutzen Discourse als soziales Intranet und für einige Kategorien benötigen wir einen gut wartbaren Bereich für Links, Personenlisten etc. – dieser Mechanismus wäre dafür großartig, aber in der Sidebar ist einfach zu wenig Platz.
CSS-Hacks sind ebenfalls willkommen.

Die Kategorie-Banner habe ich bereits versucht, aber sie sind auf den ersten Absatz beschränkt, sodass dies keine Option ist.

Viele Grüße
Ralf
(Staatsbibliothek zu Berlin)

Was ist mit diesem TC?

Ich denke, Sie werden immer noch am ersten Absatz hängen bleiben. Aber das könnte potenziell geändert werden.

Hallo Kris, das ist ziemlich gut.

Ich habe mich gefragt, ob dies geändert werden könnte oder ob es eine Option gäbe, es von einer Seitenleiste in eine obere Leiste unterhalb des Website-Headers oder vielleicht direkt unterhalb eines Kategorie-Logos zu verschieben?

Oder wenn ich Anleitungen zum Hinzufügen von benutzerdefiniertem CSS erhalten könnte, um es zu verschieben und es auch für Mobilgeräte als obere, klebrige Leiste anzuzeigen? Verankert direkt unter der Hauptleiste der Website?

Ich verstehe vielleicht nicht, wie diese Theme-Komponente funktioniert, aber könnte sie möglicherweise verwendet werden, um die Liste der Themen links anzuzeigen, auf ein Thema in der Liste zu klicken und die Beiträge rechts anzuzeigen (und die Themenliste links angeheftet zu lassen)? Ich muss keine Kategorien sehen. Es würde wie Flarum aussehen.

1 „Gefällt mir“

Nein, diese Komponente nimmt den Inhalt eines Themas und verwendet ihn, um eine Seitenleiste für die Themenliste einer bestimmten Kategorie zu füllen. Sie ist nicht sichtbar, wenn zu einem Thema navigiert wird.

Okay, danke!

Hallo zusammen! Ich habe gerade ein großes Update für diese Komponente zusammengeführt, das ein paar Dinge tut: FEATURE: include tag sidebars, migrate to objects setting by awesomerobot · Pull Request #22 · discourse/discourse-topic-list-sidebars · GitHub

  • Migriert die Einstellung für den Listenstil zu einer Objekt-Einstellung. Das bedeutet:
    • Jede Seitenleiste kann für mehrere Kategorien gleichzeitig konfiguriert werden
    • Sie können jetzt Kategorien aus der Dropdown-Liste auswählen, anstatt Slugs manuell hinzuzufügen
    • Enthält auch eine Tag-Option! Das bedeutet, Sie benötigen keine separate Komponente mehr (Discourse Tag Sidebars)

Vorhandene Einstellungen sollten sich beim Update automatisch migrieren… es sei denn, Ihr Slug unterscheidet sich vom Kategorienamen, dann müssen Sie die Einstellungen manuell aktualisieren.

Zum Beispiel wird site-feedback ordnungsgemäß zu Site Feedback migriert, aber es gibt keine Methode, Slugs zu migrieren, die nicht mit den Namen übereinstimmen (z. B. Ihr Slug für Site Feedback ist hamburgers anstelle von site-feedback).

Ich werde wahrscheinlich den Namen dieser Theme-Komponente ändern und Tag-Seitenleisten veralten lassen, um die neue Situation widerzuspiegeln.

5 „Gefällt mir“

Werden diese Tag-Einstellungen automatisch migriert?

Mit dem neuen Setup, kann es unterschiedliche Seitenleisten für denselben Tag in verschiedenen Kategorien geben? Wie werden Konflikte gelöst?

2 „Gefällt mir“