: eyeglasses: Vue d’ensemble
Un composant de thème qui vous permet de disposer des composants[^1] sur les barres supérieure et latérale.
- Spécifiez un ensemble de « widgets » distincts pour la route et la position.
- Prend en charge les configurations pour chacun de : découverte[^2], sujet, tag[^3], catégorie[^3], catégories[^3] OU intersection de tags[^4]
- Les « barres » peuvent être : supérieure, gauche, droite OU alternative droite.
- Chaque barre peut être réduite ou ignorée (actualisez le navigateur pour réinitialiser l’ignorance). Elles peuvent être minimisées par défaut.
- Gère la barre latérale officielle, mais si vous avez l’intention d’utiliser une barre latérale gauche, le mode déroulant de la barre latérale officielle est recommandé.
- Il est livré avec des paramètres d’exemple existants qui montrent de grandes lettres, en partie comme démonstration et en partie pour que vous puissiez voir des paramètres d’exemple. Supprimez-les et remplacez-les par vos propres noms de composants.
- Livré avec un composant :
bars-custom-html(voir les paramètres d’exemple pré-remplis) - mais les composants de nombreux composants de thème et plugins existants sont compatibles. - La prise en charge mobile n’est pas encore implémentée.
[^1] : Ce TC prend en charge les composants Glimmer qui doivent être « autonomes », c’est-à -dire qu’ils récupèrent leurs propres données (ils restent ainsi entièrement modulaires et peuvent être utilisés sur n’importe quelle route)
[^2] : le terme « découverte » (route) fait référence aux pages principales de la liste des sujets (par exemple, « Derniers », « Nouveaux ») qui vous permettent de parcourir les sujets disponibles avant de cliquer et de plonger dans un sujet spécifique.
[^3] : techniquement aussi une route « découverte », mais nous les séparons sous des noms distincts afin que vous puissiez les traiter différemment si vous le souhaitez.
[^4] : Voir le Plugin d’intersection de tags
: link: Liens rapides
| : octopus: Obtenir le code | https://github.com/merefield/discourse-tc-bars |
| : eyes: Voir le code | GitHub - merefield/discourse-tc-bars: A Theme Component that allows you to lay out Components ("widgets") on top and side bars |
| : question: Guide d’installation | Installing a theme or theme component |
Vous appréciez ce composant de thème ? Veuillez le : star: sur GitHub ! : pray:
Exemple gratuit :
Lors du premier chargement :
: warning: Quelques points importants Ă noter sur ce TC !
-
Ce composant de thème est principalement destiné aux développeurs et administrateurs ayant une certaine compréhension technique du développement de thèmes. Si vous n’êtes pas suffisamment technique et avez besoin d’aide pour implémenter des barres latérales en utilisant Bars, vous pouvez m’embaucher ou embaucher un développeur sur Marketplace
-
Ce composant de thème est destiné à fournir un cadre pour prendre en charge les barres latérales. Il ne fournit pas et n’est pas destiné à fournir une finition visuelle finale que vous devrez ajouter dans votre thème avec du CSS supplémentaire. Cependant, il fait beaucoup de travail pour vous et vous donne moins de choses à penser et vous donne peut-être même la capacité de faire des choses que vous ne pouviez pas faire auparavant… : sweat_smile:
Considérations sur les composants
- Vous devez spécifier un nom de composant. Le nom du composant est en fait le même que le nom du fichier dans le répertoire du thème, tc ou plugin
componentsans le suffixe. - le nom du composant n’est pas le nom du composant de thème (qui pourrait contenir plusieurs composants Glimmer Ember), c’est le nom du fichier du composant Ember réel : sweat_smile: , donc par exemple :
donc layouts-tag-list
- Ils peuvent provenir d’un composant de thème ou d’un plugin existant. Les composants existants peuvent fonctionner. Exemples :
- 🏷️ Bars Tag List Component
- Render a component within a Widget. (Using select-kit components within plugin code) - #31 by merefield
- Discourse AI Topic Summary 🤖 … et peut-être même :
- Le widget Leaderboard : https://github.com/discourse/discourse-gamification/blob/main/assets/javascripts/discourse/components/minimal-gamification-leaderboard.js (faites-moi savoir si vous l’essayez ci-dessous !)
- Il faut une certaine expertise pour construire des composants
- Mais essayez de construire votre propre composant dans un autre composant de thème et assurez-vous qu’ils sont tous deux actifs dans le même thème.
- Les composants doivent sourcer leurs propres données (ils ne peuvent pas utiliser les modèles de passage de sortie de plugin malheureusement en raison des sorties de plugin spécifiques qui doivent être utilisées pour disposer les choses de cette manière)
- Prêt à l’emploi, vous ne pouvez utiliser que les données JSON API existantes de, par exemple, Discourse core ou celles fournies par un plugin existant. Si vous avez besoin de données sur mesure que vous ne pouvez pas obtenir des API actuelles, vous pouvez m’embaucher ou embaucher quelqu’un sur Marketplace pour vous aider.
- Vous devrez peut-être styliser la barre latérale et les limites des composants à votre goût. (encore une fois, si vous avez besoin d’aide, envisagez d’embaucher un développeur).
- L’utilisation stratégique des ombres portées et des bordures peut rendre les choses très jolies - soyez artistique !
Pourquoi
-
Avec la mise à jour de Discourse core vers Ember 5, l’astuce utilisée par le plugin Layouts de Pavilion pour fournir un excellent moyen de manipuler la mise en page de Discourse a cessé de fonctionner. Il n’y avait plus de moyen simple d’afficher une barre latérale sur une route de sujet via une interface utilisateur relativement simple.
-
De plus, Ember a introduit les composants Glimmer qui étaient beaucoup plus agréables à utiliser. (Layouts utilisait l’API Widgets qui est dépréciée au profit des composants Glimmer).
-
Enfin, l’équipe principale de Discourse a fourni un nouvel éditeur JSON pour les paramètres des composants de thème, ce qui a rendu possible le déploiement d’un paramètre plus complexe

-
Plutôt que de corriger le plugin Layouts (les TC n’existaient pas à l’époque de Layouts), il était logique de reconstruire en tant que composant de thème, car nous pouvons réaliser la plupart des choses dont nous avons besoin uniquement en front-end.
-
Entrez “Bars”
Santé !!
Problèmes connus
- La barre supérieure ne reste pas collée (je pourrais supprimer le paramètre correspondant si je ne parviens pas à le résoudre).
Crédits
- Successeur spirituel du Plugin Layouts maintenant cassé, construit par @angus (Merci !) qui nous a bien servi pendant de nombreuses années.
- Utilise le système de paramètres de Blocs de barre latérale droite (merci @pmusaraj !)
[^1] : le terme « découverte » (route) fait référence aux pages principales de la liste des sujets (par exemple, « Derniers », « Nouveaux ») qui vous permettent de parcourir les sujets disponibles avant de cliquer et de plonger dans un sujet spécifique.
[^2] : techniquement aussi une route « découverte », mais nous les séparons sous des noms distincts afin que vous puissiez les traiter différemment si vous le souhaitez.
[^3] : Voir ici pour plus de détails. Pour que cela reste facultatif (tous les installateurs de Bars ne voudront pas d’une page d’accueil personnalisée), Bars n’ajoute pas le modificateur requis dans about.json vous devez donc l’ajouter dans le thème parent ou un autre TC pour l’activer.








