У нас есть плагин Pavilion Event, который создаёт страницу /Calendar.
Я хочу доработать страницу календаря с помощью CSS/HTML и компонентов темы, чтобы сделать её максимально удобной для пользователей.
Поскольку у нас всего несколько категорий, в которых разрешено создавать события, мне удалось успешно отфильтровать выпадающий список категорий в редакторе, оставив только нужные.
Сложность возникает с установкой категории по умолчанию в редакторе с помощью CSS/HTML (чтобы я мог использовать условия для её активации на нужных страницах — например, на странице календаря).
Цель: везде на Discourse категория по умолчанию — «General», но если пользователь создаёт тему со страницы календаря (на этой странице уже есть функция «Новая тема»), то в редакторе категория по умолчанию должна быть «Event Planning», и при этом должен срабатывать шаблон, привязанный к категории «Event Planning».
Может кто-то подсказать, в каком направлении двигаться?
Спасибо.
Для справки — код, который у меня пока есть:
HTML Body
<!-- Используется для пометки страницы календаря путем добавления класса calendar-page к body -->
<script>
// Проверка, заканчивается ли URL на "/calendar"
if (window.location.href.endsWith("/calendar")) {
// Добавляем класс к body, чтобы активировать правило CSS
document.body.classList.add('calendar-page');
}
</script>
<!-- Меняет текст «Добавить тему» на «Добавить событие» на экране календаря -->
<script>
// Проверка, есть ли у body класс "hide-on-calendar"
if (document.body.classList.contains('calendar-page')) {
// Обновляем текст кнопки
const button = document.querySelector('.main-content.calendar .d-button-label');
if (button) {
button.textContent = 'Add Event';
}
}
</script>
CSS
// Скрыть категории событий, кроме указанных
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;
}
Если у кого-то есть идеи, как получить значение, установленное в настройках категории плагином (в данном случае настройка плагина «События» «Разрешить добавление событий к темам в этой категории»), чтобы не пришлось прописывать категории вручную, это было бы здорово… но я понимаю, что, возможно, слишком много прошу.