Formerly “Discourse Category Sidebars” — the name of this theme component has been updated to Topic List Sidebars now that it supports both categories and tags.
Summary
Topic List Sidebars takes a topic and applies it as a sidebar for a category or tag’s topic list.
This theme component takes a topic and applies it as a sidebar for a category or tag’s topic list. These sidebars are only visible when the browser is 767px or wider (most tablets and monitors).
Choose a topic and display its content as a sidebar for a category or tag.
Set a sidebar to be displayed on the /latest, /new, /unread, and /top pages by using all as the category name in your settings.
Choose for the sidebars to appear on the left or the right of the topic list.
By default a category’s sidebar will also display for all its subcategories unless a subcategory has its own sidebar defined (you can disable this by unchecking the inherit parent sidebar setting).
How do I configure it?
Choose your categories and tags, and add the id of the topic (e.g. example.com/t/example-topic/57) that you would like to use to populate the sidebar’s content
I recommend creating sidebar topics in their respective categories/tags, closing the topic so there are no replies, and unlisting it (so it doesn’t appear in the topic list).
Note that you cannot use a topic in a private category as a sidebar in a public category (you can technically, but users without access to that private topic will just see a empty sidebar!).
Settings
Name
Description
sidebars
Add and remove sidebars
sidebar side
Choose from Left or Right
inherit parent sidebar
If checked subcategories will inherit their parent category’s sidebar (unless the subcategory has its own sidebar assigned).
When unchecked subcategories will only display a sidebar if one is specified.
stick on scroll
When checked sidebar has a sticky position on scroll
Developer Notes
Each category sidebar is wrapped with a class that contains the category slug, so for the staff category that would be .category-sidebar-staff. You can use these classes to style the individual sidebars.
The body tag on pages with sidebars also has a class added so you can use body.custom-sidebar to apply styles on all pages that have a sidebar.
Credits
Special thanks to @xrav3nz for laying the groundwork to make this component possible!
Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.
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!
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!
Est-ce que ce serait possible pour les groupes également ? Avoir une barre latérale pour les groupes serait génial pour donner des informations sur le groupe.
Quelqu’un pourrait-il m’orienter pour obtenir les paramètres du groupe (pour que le composant sache que vous êtes dans un groupe) afin que je puisse essayer et créer une PR moi-même ?
Il serait peut-être un peu audacieux de le demander, puisqu’il s’appelle sidebar (barre latérale), mais : serait-il possible d’ajouter une option pour placer le contenu non pas à côté, mais toujours au-dessus de la liste des sujets ?
Nous utilisons Discourse comme intranet social, et pour certaines catégories, nous avons besoin d’un espace facile à maintenir pour les liens, les listes de personnes, etc. - ce mécanisme serait idéal pour cela, mais il y a tout simplement trop peu d’espace dans la barre latérale.
Les hacks CSS sont également les bienvenus.
J’ai déjà essayé les bannières de catégorie, mais elles sont limitées au premier paragraphe, ce n’est donc pas une option.
Cordialement,
Ralf
(Bibliothèque d’État de Berlin)
Je me demandais si cela pouvait être modifié ou s’il y avait une option pour le déplacer d’une barre latérale vers la barre supérieure sous l’en-tête du site, ou peut-être juste sous le logo d’une catégorie ?
Ou si je pouvais obtenir des conseils sur l’ajout de CSS personnalisé pour le déplacer et aussi pour qu’il s’affiche sur mobile comme une barre supérieure collante ? Ancré juste en dessous de la barre principale du site ?
Je comprends peut-être mal le fonctionnement de ce composant de thème, mais serait-il possible de l’utiliser pour afficher la liste des sujets à gauche, cliquer sur un sujet dans la liste, et avoir les messages affichés à droite (et garder la liste des sujets épinglée à gauche) ? Je n’ai pas besoin de voir les catégories. Cela ressemblerait à Flarum.
Non, ce que fait ce composant, c’est qu’il prend le contenu d’un sujet et l’utilise pour remplir une barre latérale pour la liste des sujets d’une catégorie spécifique. Il n’est pas visible lors de la navigation vers un sujet.
Les paramètres existants devraient migrer automatiquement lors de la mise à jour… à moins que votre slug ne soit différent du nom de la catégorie, auquel cas vous devrez mettre à jour manuellement les paramètres.
Par exemple, site-feedback migrera correctement vers Site Feedback, mais il n’existe aucun moyen de migrer les slugs qui ne correspondent pas aux noms (par exemple, votre slug pour Site Feedback est hamburgers au lieu de site-feedback).
Je vais probablement changer le nom de ce composant de thème et déprécier les barres latérales d’étiquettes pour refléter la nouvelle situation.
Cela migrera-t-il automatiquement les paramètres des tags ?
Avec la nouvelle configuration, peut-il y avoir des barres latérales différentes pour le même tag dans différentes catégories ? Comment les conflits sont-ils résolus ?