Abbiamo il plugin Pavilion Event che crea una pagina /Calendar.
Sto cercando di modificare la pagina del calendario usando CSS/HTML/Componenti del tema per renderla il più user-friendly possibile.
Poiché abbiamo solo poche categorie in cui consentiamo la creazione di Eventi, ho filtrato con successo il menu a discesa delle categorie nel composer per includere solo le categorie pertinenti.
La parte su cui sto lottando è impostare la categoria predefinita nel composer usando CSS/HTML (in modo da poter utilizzare le condizioni per attivarla nelle pagine corrette, come la pagina del calendario).
L’obiettivo è che ovunque altro su Discourse la categoria predefinita sia ‘Generale’, ma se l’utente sta creando un argomento dalla pagina del calendario (la pagina ha già la funzionalità ‘Nuovo argomento’), la categoria del composer predefinita sia ‘Pianificazione Eventi’ invece, e attivi il modello allegato alla categoria ‘Pianificazione Eventi’.
Qualcuno può indicarmi la giusta direzione?
Grazie
1 Mi Piace
Per riferimento, il codice che ho ottenuto finora:
HTML Body
<!-- Utilizzato per contrassegnare la pagina Calendario aggiungendo la classe calendar-page al body -->
<script>
// Controlla se l'URL termina con "/calendar"
if (window.location.href.endsWith("/calendar")) {
// Aggiunge una classe al body per attivare la regola CSS
document.body.classList.add('calendar-page');
}
</script>
<!-- Cambia 'Add Topic' in 'Add Event' nella schermata del calendario -->
<script>
// Controlla se il body ha la classe "hide-on-calendar"
if (document.body.classList.contains('calendar-page')) {
// Aggiorna il testo del pulsante
const button = document.querySelector('.main-content.calendar .d-button-label');
if (button) {
button.textContent = 'Add Event';
}
}
</script>
CSS
//Nasconde le categorie di eventi non pertinenti
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;
}
Se qualcuno ha suggerimenti su come recuperare un valore impostato nelle impostazioni della categoria da un plugin (in questo caso l’impostazione “Allow events to be added to topics in this category.” del plugin Events) in modo da non dover codificare le categorie, sarebbe fantastico… ma so che sto chiedendo troppo.