Tengo un usuario que pregunta si es posible restringir el banner solo a la página de inicio, de modo que si tienen los últimos marcados, no se muestre. Actualmente, parece mostrarse en ambas instancias.
Sí, está en la configuración del banner de enlace de bienvenida:
¿Quieres decir si configuran una página personalizada (latest, categories, lo que sea) como su página de inicio en su propio perfil?
Entonces esta página arbitraria se considera la “página de inicio” para el usuario, y por lo tanto, el banner de bienvenida aparecerá en su nueva página de inicio.
Si la página de inicio predeterminada de tu sitio es /categories y quieres que el banner de bienvenida aparezca solo en /categories, independientemente de las preferencias de interfaz de los usuarios, tal vez podrías configurar mostrar en como “discovery” o “all” y usar javascript para ocultar el banner de bienvenida en otras páginas que no sean la que quieres mostrar.
Pero actualmente no sé cómo identificar de manera confiable la página actual en la que estamos (incluyendo cuando cargamos una página por primera vez y cuando cambiamos de página) para ocultar dinámicamente el Banner de Bienvenida.
Estaré encantado de intentarlo más tarde (
), pero tal vez esto podría ser un comienzo:
Ah, muchas gracias, sí, algunos de mis líderes comunitarios que tienen la disposición predeterminada configurada en la más reciente, preferirían que el banner solo apareciera en la página de categorías, por ejemplo. Revisaré el enlace que compartiste.
De acuerdo, aquí tienes una solución que funciona. En mi ejemplo, el Banner de Bienvenida se mostrará solo en la página /latest, independientemente de la configuración de la interfaz de los usuarios. Te dejaré personalizarlo para que se muestre solo en la página /categories. ![]()
-
Establece la configuración mostrar en del Banner de Enlace de Bienvenida en “all” o “discovery”, dependiendo de la(s) página(s) en la(s) que desees que se muestre el banner.
-
Añade este script en tu tema:
<script type="text/discourse-plugin" version="1.4.0"> // muestra el banner de bienvenida solo en la página /latest api.onPageChange(() => { const router = api.container.lookup('service:router'); if (router.currentRoute.name === 'discovery.latest') { document.body.classList.add('route-discovery-latest'); } else { document.body.classList.remove('route-discovery-latest'); } }); </script> -
Añade este CSS a tu tema:
body:not(.route-discovery-latest) .welcome-link-banner-connector { display: none; }
Referencia utilizada:
¡Gracias por esto, muchísimas gracias! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
