Resumen
Un Componente Temático que te permite organizar Componentes[1] en las barras superior y lateral.
- Especifica un conjunto de “widgets” distintos para la Ruta y la Posición.
- Admite configuraciones para cada uno de: descubrimiento[2], tema, etiqueta[3], categoría[3:1], categorías[3:2] O intersección de etiquetas[4]
- Las “Barras” pueden ser: superior, izquierda, derecha O ubicación alternativa derecha.
- Cada barra se puede contraer o descartar (refresca el navegador para restablecer el descarte). Se pueden minimizar por defecto.
- Maneja la Barra Lateral Oficial, pero si tienes la intención de usar una Barra Lateral Izquierda, se recomienda el modo Desplegable de la Barra Lateral Oficial.
- Viene con configuraciones de ejemplo existentes que muestran algunas letras grandes, en parte como demostración y en parte para que puedas ver configuraciones de ejemplo. Elimina estas y reemplázalas con los nombres de tus propios Componentes.
- Incluye un Componente:
bars-custom-html(ver configuraciones de ejemplo prellenadas), pero los componentes de muchos Componentes Temáticos y Plugins existentes son compatibles. - El soporte móvil aún no está implementado.
Enlaces Rápidos
https://github.com/merefield/discourse-tc-bars |
|
| GitHub - merefield/discourse-tc-bars: A Theme Component that allows you to lay out Components ("widgets") on top and side bars | |
| Installing a theme or theme component |
¿Disfrutas de este Componente Temático? ¡Por favor, dale
en GitHub ! ![]()
Ejemplo gratuito:
Al cargar por primera vez:
¡Algunas cosas importantes a tener en cuenta sobre este TC!
-
Este Componente Temático está destinado principalmente a desarrolladores y administradores que tengan algún conocimiento técnico del desarrollo de Temas. Si no eres lo suficientemente técnico y necesitas ayuda para implementar barras laterales usando Barras, puedes contratarme a mí o a un desarrollador en Marketplace
-
Este Componente Temático está destinado a proporcionar un marco para admitir barras laterales. No proporciona ni pretende proporcionar un pulido visual final que deberás agregar en tu Tema con CSS adicional. Sin embargo, hace mucho trabajo por ti y te da menos cosas en las que pensar y quizás incluso te da la capacidad de hacer cosas que antes no podías…

Consideraciones del Componente
-
Debes especificar un nombre de Componente. El nombre del componente es, de hecho, el mismo que el nombre del archivo en el directorio del tema, tc o plugin
componentsin el sufijo.- el nombre del componente no es el nombre del Componente Temático (que podría contener muchos Componentes Glimmer Ember), es el nombre del archivo real del Componente Ember
, así que, por ejemplo:
así que
layouts-tag-list - el nombre del componente no es el nombre del Componente Temático (que podría contener muchos Componentes Glimmer Ember), es el nombre del archivo real del Componente Ember
-
Pueden ser de un Componente Temático o Plugin existente. Los Componentes existentes pueden funcionar. Los ejemplos son:
- 🏷️ Bars Tag List Component
- Render a component within a Widget. (Using select-kit components within plugin code) - #31 by merefield
- Discourse AI Topic Summary 🤖 … y posiblemente incluso:
- El widget de Tabla de Clasificación: https://github.com/discourse/discourse-gamification/blob/main/assets/javascripts/discourse/components/minimal-gamification-leaderboard.js (¡avísame si lo pruebas abajo!)
-
Se requiere cierta experiencia para construir Componentes
- Pero intenta construir tu propio Componente en otro Componente Temático y asegúrate de que ambos estén activos en el mismo Tema.
-
Los Componentes deben obtener sus propios datos (no pueden usar modelos de paso de salida de plugin desafortunadamente debido a las salidas de plugin específicas que se deben usar para organizar las cosas de esta manera)
- De fábrica, solo puedes usar datos de la API JSON existentes, por ejemplo, del núcleo de Discourse o los proporcionados por un Plugin existente. Si necesitas datos personalizados que no puedes obtener de las API actuales, puedes contratarme a mí o a alguien en Marketplace para que te ayude.
-
Es posible que necesites estilizar la barra lateral y los límites del componente a tu gusto. (nuevamente, si necesitas ayuda, considera contratar a un desarrollador).
- El uso estratégico de sombras de caja y bordes puede hacer que las cosas se vean muy bien. ¡Sé artístico!
Por qué
-
Con la actualización del núcleo de Discourse a Ember 5, el truco que usaba el plugin Layouts de Pavilion para proporcionar una excelente manera de manipular el diseño de Discourse dejó de funcionar. Ahora no había una forma fácil de mostrar una barra lateral en una ruta de Tema a través de una interfaz de usuario relativamente fácil para el usuario final.
-
Además, Ember introdujo los Componentes Glimmer, que eran mucho más agradables de usar. (Layouts usaba la API de Widgets, que está obsoleta en favor de los Componentes Glimmer).
-
Finalmente, el equipo principal de Discourse proporcionó un nuevo editor JSON para la configuración de Componentes Temáticos, lo que hizo posible implementar una configuración más compleja

-
En lugar de arreglar el plugin Layouts (los TC no existían en la época de Layouts), tenía sentido reconstruirlo como un Componente Temático, porque podemos lograr la mayoría de las cosas que necesitamos solo en el front-end.
-
¡Entra “Barras”
¡Salud!
Problemas Conocidos
- La barra superior no se fija (puede que elimine la configuración correspondiente si no puedo resolverlo).
Créditos
- Sucesor espiritual del ahora roto Plugin Layouts creado por @angus (¡Gracias!) que nos sirvió bien durante muchos años.
- Utiliza el sistema de parámetros de Bloques de Barra Lateral Derecha (¡gracias @pmusaraj!)
el término ‘descubrimiento’ (ruta) se refiere a las páginas principales de la Lista de Temas (por ejemplo, “Últimos”, “Nuevos”) que te permiten navegar por los Temas disponibles antes de hacer clic y profundizar en uno específico. ↩︎
técnicamente también es una ruta de “descubrimiento”, pero las separamos con nombres distintos para que puedas tratarlas de manera diferente si así lo deseas. ↩︎
Ver aquí para más detalles. Para que esto siga siendo opcional (no todos los instaladores de Barras querrán una página de inicio personalizada), Barras no agrega el modificador requerido en
about.json, por lo que debes agregarlo en el Tema padre u otro TC para activarlo. ↩︎ ↩︎ ↩︎








