Versatile Banner

Crea un componente temático como se describe en la Guía para principiantes sobre el uso de Theme Creator y Theme CLI para empezar a crear un tema de Discourse, la Guía para desarrolladores de temas de Discourse o en varios otros temas que puedes encontrar buscando “theme developer”.

Si eso no es útil, entonces necesitarás decir más sobre lo que estás intentando hacer.

5 Me gusta

Hola, ¿es posible convertir el texto del Versatile Banner a través de diferentes idiomas? Me interesaría traducir la interfaz de usuario del francés al alemán según el idioma.

2 Me gusta

No lo sé. Pero Add localizable strings to themes and theme components podría ofrecer algunas pistas. Creo que necesitas hacer un fork del componente del tema, pero no estoy seguro y no he mirado el código últimamente para saber si tengo razón.

2 Me gusta

Lamentablemente, la función de traducciones de temas que mencionó Jay salió justo antes de que se creara este componente y no creo que la documentación se publicara hasta que yo hubiera empezado a trabajar en ella. Sería muy difícil actualizarlo para que admita varias traducciones en esta etapa sin romper los Versatile Banners existentes :frowning: El enfoque de bifurcación es probablemente tu mejor opción.

Mi esperanza es que en algún momento lancemos un “Versatile Banner 2” que pueda abordar algunas de las características faltantes y las solicitudes que han llegado a lo largo de los años.

3 Me gusta

¿Hay alguna forma de mostrar un banner en temas de una sola categoría? El banner versátil usa URL y comodines, pero Discourse no contiene el nombre de la categoría en la URL. ¿O hay alguna forma de añadir la categoría a la URL del tema?

1 me gusta

Puedes añadirlo a una categoría específica añadiendo un enlace como, por ejemplo, /c/support/* a la configuración de la URL debe contener.

2 Me gusta

Lo sé, por eso escribí “temas bajo una sola categoría”. Los temas tienen una URL como /t/* que no contiene el nombre de la categoría. Por lo tanto, si agregas /c/support/* solo se mostrará en la página de la lista de temas, no en los temas bajo esa categoría.

2 Me gusta

Lo siento, lo leí completamente mal. :slight_smile: Me temo que no lo sé.

3 Me gusta

La categoría se añade como una clase a la etiqueta <body>, por lo que podrías escribir CSS que muestre u oculte el banner dependiendo de la categoría. Por ejemplo:

/* Ocultar el banner por defecto */
.custom-banner-outlet {
    display: none;
}

/* Mostrar el banner en la categoría "General" */
body.category-general .custom-banner-outlet {
    display: block;
}
3 Me gusta

Me entusiasma poder usar este banner, pero necesito limitar su visibilidad a solo ciertos grupos de nuestros usuarios. Usamos Discourse para alojar un LMS. Espero que sea visible para nuestros estudiantes actuales, pero no para los exalumnos. ¿Es esto posible o hay otra forma de lograrlo?
Muchas gracias por cualquier consejo.

1 me gusta

Creo que eso debería ser posible usando el componente de tema CSS Classes for Current User's Groups y añadiendo un pequeño display: none; para el grupo relevante del que deseas ocultarlo. :+1:

3 Me gusta

Muchas gracias. Siento que esto está tentadoramente cerca de lo que busco, pero lamentablemente estoy completamente fuera de mi alcance con CSS. ¡Agradezco la sugerencia de todos modos!

1 me gusta

Está bien. :slightly_smiling_face: Si nos dice el nombre del grupo del que desea ocultar el banner, podemos ajustar el código para satisfacer sus necesidades y mostrarle dónde colocarlo. :+1:

Por ejemplo:

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
Detalles adicionales sobre cómo agregarlo a su sitio
  • Vaya a /admin/customize/themes
  • Haga clic en instalar y luego en crear nuevo
  • Asígnele un nombre y seleccione ‘componente’.
  • Crear
  • Agréguelo a su tema
  • Haga clic en el botón Editar CSS/HTML y pegue el código en la pestaña Común
  • Y guarde. :+1:

4 Me gusta

¿Cómo podemos previsualizar el tema sin habilitarlo? Quiero poder experimentar sin arruinar la experiencia del usuario. Estamos en el plan alojado de Discourse, por lo que no tenemos la capacidad de ejecutar instancias de prueba.

Espero que haya un interruptor o configuración que haya pasado por alto.

2 Me gusta
  1. Puedes añadir otro tema (probablemente un clon del tuyo ‘normal’) - llámalo Test o algo así.
    • Mantén el tuyo normal como ‘predeterminado’.
  2. Asegúrate de incluir exactamente los mismos Componentes del Tema
  3. Selecciona este para tu usuario administrador

Luego puedes jugar con este como quieras. Otros pueden (en teoría) seleccionar el tema, pero es muy poco probable que lo hagan a menos que se les indique claramente.

¡Solo recuerda seleccionar el tema ‘normal’ cuando hayas terminado!

3 Me gusta

No estoy seguro de que sea factible, pero no pierdo nada con preguntar.

En un tema largo, cuando empiezas desde abajo y te desplazas hacia arriba, el banner aparece brevemente mientras el flujo de publicaciones carga las publicaciones antiguas. Después de que las publicaciones se cargan, hay un “salto” visual cuando el banner se empuja por encima del flujo de publicaciones. Me parece un poco brusco y no aparece el tiempo suficiente para interactuar con él.

Idealmente, solo me gustaría ver el banner encima del título de un tema y no en medio del flujo. Creo que no es una solicitud trivial, ya que supongo que el banner utiliza la salida below-site-header, por lo que su comportamiento se basa en la salida y, por lo tanto, este “salto” es un comportamiento esperado.

¿Hay alguna forma sencilla de saber si estás en la parte superior de la página?

1 me gusta

Este es un gran consejo. Me funcionó perfectamente.

Descubrí que el tema clonado no necesita estar activo. Se puede previsualizar cuando está inactivo, por lo que no hay necesidad de preocuparse de que los usuarios lo descubran.

Leí eso con diversión. Ese fue mi pensamiento cuando comencé a explorar temas. Quería experimentar y cargué algunos temas diferentes. Los miembros del foro los encontraron muy rápidamente.

Para estar doblemente seguro de que tus usuarios no vean con lo que estás experimentando, deja desmarcada la opción “El tema puede ser seleccionado por los usuarios”. Los usuarios no podrán elegir el tema, incluso si está activo.

3 Me gusta

¿Hay alguna forma de mostrar esto solo a niveles de confianza específicos?

De esta manera, en lugar de usar una cookie para recordar la configuración del usuario para mostrarla/ocultarla, ¿todos los usuarios la verán hasta que alcancen un nivel de confianza específico?

1 me gusta

Esta componente de banner no lo hace actualmente, pero la Welcome Link Banner sí, ¿es una buena alternativa?

2 Me gusta

Quiero usar este banner para que cada semana se honre a alguien de mi país en mi foro, que tendrá una foto de la persona honrada y un texto, pero quiero otorgar acceso a los plugins a mis moderadores, porque no estaré disponible todas las semanas, ¿hay alguna forma de otorgar acceso a este plugin a mis moderadores para que también puedan poner fotos y texto?