Componente de Banners de Tema

Este componente te permite renderizar cualquier tema como un banner en rutas de URL personalizadas.

La apariencia predeterminada es bastante básica. La captura de pantalla muestra el tema de bienvenida predeterminado como un banner en la lista más reciente:

Pero los banners renderizarán varios contenidos que son compatibles en los temas, por ejemplo, emojis, animaciones, enlaces de video… Así que podrías usar (y abusar) de esto de muchas maneras :see_no_evil:

En Configuración, seleccionas vistas por su URL relativa y temas por su ID. También puedes posicionar los banners en uno de los tres plugin-outlets diferentes y mostrarlos solo a un grupo específico:

:+1: Créditos: El código del widget para este componente es esencialmente una copia del componente Category Sidebars de @awesomerobot y, según entiendo, de @xrav3nz

|||
|-|-|-|
| :hammer_and_wrench:|Repositorio| GitHub - nolosb/discourse-topic-banners: A Discourse theme component. Renders any topic as a banner on custom url paths. |
| :question:|Guía de Instalación|Cómo instalar un tema o componente de tema|

Instalar Componente de Tema

16 Me gusta

¿Esto incluye encuestas (con las que se puede interactuar)? (ha sido algo que hemos echado mucho de menos, poner una encuesta visible para todos en lugar de escondida en alguna parte de una publicación)

3 Me gusta

¡Buena pregunta! Pero no, acabo de probarlo:

La encuesta se mostraría como en la vista previa del editor. No puedes interactuar y tampoco muestra los resultados.

3 Me gusta

Encontré un error en este componente, cuando está habilitado y configurado para mostrar el tema de un grupo específico.

Si el invitado o los usuarios asisten al foro desde fuera de este grupo, la actualización de las páginas funciona incorrectamente, los otros temas no se cargan después de actualizar la página en el navegador.

Consola:

Uncaught TypeError: Cannot read properties of null (reading 'groups')
    at n.html (68eb2e30e7629f8db22df6fed8efb777b0183d8d.js?__ws=mydomain.com:114:36)
    at n.value (application-8b970b30b88888346a1f4d53543a21332202376215babe59aa315ac2054a2627.js:sourcemap:1:3239172)
    at n.value (application-8b970b30b88888346a1f4d53543a21332202376215babe59aa315ac2054a2627.js:sourcemap:1:3235241)
    at s (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90601:45)
    at t.exports (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90584:21)
    at m (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90988:17)
    at h (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90856:9)
    at d (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90843:5)
    at n.rerenderWidget (application-8b970b30b88888346a1f4d53543a21332202376215babe59aa315ac2054a2627.js:sourcemap:1:1455271)
    at t.invoke (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66550:16)
    at e.t.flush (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66442:13)
    at e.t.flush (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66646:21)
    at e.n._end (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:67222:34)
    at e.n.end (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66908:12)
    at e.n._run (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:67277:16)
    at e.n._join (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:67251:21)
    at e.n.join (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66968:19)
    at h (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:53760:28)
    at HTMLDocument.<anonymous> (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:53864:19)
    at l (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:3776:29)
    at c (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:3844:12)
2 Me gusta

¡Gracias por publicarlo! Solo pude replicar un error cuando ningún usuario ha iniciado sesión y agregué una solución para eso. ¿Podrías actualizar el componente e intentarlo de nuevo?

3 Me gusta

¡Sí, ahora funciona! ¡Gracias! :heart:

2 Me gusta

¡Oh, esto es increíble! Un gran componente temático, ya que permite una agradable individualización de cada categoría, lo que parece muy superior al componente temático de banner de categoría del oficial, pero podría estar equivocado.

En ese sentido, podría ser bueno agregar el banner de categoría al título de la publicación.

Además, este componente incluso puede servir para la página de inicio.

2 Me gusta

Hola, ¡gracias por compartir!

¿No hay planes para añadir un botón de cierre sobre los banners?

1 me gusta

No estoy seguro de que el componente sea un buen reemplazo para los banners de categoría. Algunas advertencias:

  • cargará mucho más lento
  • no contendrá contenido dinámico. Por ejemplo, cuando cambies el nombre de la categoría, no se actualizará en el componente
  • también es más complicado de configurar

Dicho esto, me daría curiosidad ver cómo lo usas de esa manera :slight_smile:

Solo tengo un caso de uso para este componente yo mismo en este momento, que es servir un tema introductorio ampliado en una comunidad. No hay planes de añadirlo al componente en este momento.

@manuel Desempolvando este, probando actualmente en 3.1.4.
Pero la configuración “mostrar al grupo” no funciona cuando añado un grupo específico. Probé con mayúsculas y minúsculas, pero el tema del banner no se muestra. Cuando la configuración está vacía, entonces funciona. ¿Alguna idea?

1 me gusta

Sí, el componente necesitará algo de refactorización… Hay bastante código y ya ni siquiera tengo un caso de uso propio. ¿Podríamos etiquetarlo como no mantenido?

@jrgong no sé qué intentas configurar, pero probablemente podrías probar este componente de barra de anuncios? Está diseñado por defecto para un diseño de barra, pero con un poco de CSS y colocándolo en el outlet above-main-container puede ser muy similar. Necesita HTML en lugar de Markdown. Tampoco tiene funciones de grupo, pero la gran ventaja es que es desechable.

3 Me gusta

@manuel gracias por el consejo. Lo comprobaremos una vez que salga la versión estable 3.2. El componente de la barra de anuncios no es compatible con la versión 3.1.

1 me gusta

He aplicado la etiqueta :+1:

3 Me gusta