Tenemos el plugin Pavilion Event que crea una página /Calendar.
Estoy buscando modificar la página del calendario usando CSS/HTML/Componentes Temáticos para hacerla lo más fácil de usar posible.
Debido a que solo tenemos unas pocas categorías en las que permitimos la creación de eventos, he filtrado con éxito el menú desplegable de categorías en el compositor para que solo incluya las categorías relevantes.
La parte con la que tengo problemas es establecer la categoría predeterminada en el compositor usando CSS/HTML (para poder usar condiciones para activarla en las páginas correctas, como la página del calendario).
El objetivo es que en cualquier otro lugar de Discourse la categoría predeterminada sea ‘General’, pero si el usuario está creando un tema desde la página del calendario (la página ya tiene la funcionalidad ‘Nuevo Tema’), la categoría del compositor se establecerá de forma predeterminada en ‘Event Planning’ y activará la plantilla adjunta a la categoría ‘Event Planning’.
¿Alguien puede orientarme?
Gracias
1 me gusta
Para referencia, el código que he obtenido hasta ahora:
HTML Body
<!-- Se usa para marcar la página del calendario añadiendo la clase calendar-page al body -->
<script>
// Comprueba si la URL termina con "/calendar"
if (window.location.href.endsWith("/calendar")) {
// Añade una clase al body para activar la regla CSS
document.body.classList.add('calendar-page');
}
</script>
<!-- Cambia 'Añadir Tema' a 'Añadir Evento' en la pantalla del calendario -->
<script>
// Comprueba si el body tiene la clase "hide-on-calendar"
if (document.body.classList.contains('calendar-page')) {
// Actualiza el texto del botón
const button = document.querySelector('.main-content.calendar .d-button-label');
if (button) {
button.textContent = 'Add Event';
}
}
</script>
CSS
// Oculta categorías de Eventos que no son Eventos
body.calendar-page li.select-kit-row.category-row[title]:not([title="Private Events"]):not([title="Public Events"]):not([title="Induction Sessions"]):not([title="Space Bookings"]) {
display: none;
}
Si alguien tiene alguna sugerencia sobre cómo obtener un valor establecido en la configuración de la categoría por un plugin (en este caso, la configuración del plugin de Eventos “Permitir que se añadan eventos a los temas en esta categoría”) para no tener que codificar las categorías, también sería genial… pero sé que estoy pidiendo demasiado.