Standardkategorie basierend auf Bedingungen ändern

Wir haben das Pavilion Event Plugin, das eine /Calendar Seite erstellt.

Ich möchte die Kalenderseite mit CSS/HTML/Theme Components anpassen, um sie so benutzerfreundlich wie möglich zu gestalten.

Da wir nur wenige Kategorien haben, in denen Events erstellt werden dürfen, habe ich die Kategorieauswahl im Komponisten erfolgreich gefiltert, sodass nur die relevanten Kategorien enthalten sind.

Der Teil, mit dem ich kämpfe, ist das Festlegen der Standardkategorie im Komponisten mit CSS/HTML (damit ich Bedingungen verwenden kann, um sie auf den richtigen Seiten auszulösen - wie der Kalenderseite).

Das Ziel ist, dass überall sonst im Discourse die Standardkategorie ‘General’ ist, aber wenn der Benutzer ein Thema von der Kalenderseite aus erstellt (die Seite hat bereits die ‘New Topic’-Funktionalität) - wird die Kategorie des Komponisten standardmäßig auf ‘Event Planning’ gesetzt und löst die Vorlage aus, die an die Kategorie ‘Event Planning’ angehängt ist.

Kann mir jemand in die richtige Richtung weisen?

Danke

1 „Gefällt mir“

Als Referenz - der bisherige Code:

HTML Body

<!-- Wird verwendet, um die Kalenderseite zu kennzeichnen, indem die Klasse calendar-page zum Body hinzugefügt wird -->

  <script>
    // Prüfen, ob die URL mit "/calendar" endet
    if (window.location.href.endsWith("/calendar")) {
      // Eine Klasse zum Body hinzufügen, um die CSS-Regel auszulösen
      document.body.classList.add('calendar-page');
    }
  </script>

<!-- Ändert "Add Topic" in "Add Event" im Kalenderbildschirm -->

  <script>
    // Prüfen, ob der Body die Klasse "hide-on-calendar" hat
    if (document.body.classList.contains('calendar-page')) {
      // Den Text des Buttons aktualisieren
      const button = document.querySelector('.main-content.calendar .d-button-label');
      if (button) {
        button.textContent = 'Add Event';
      }
    }
  </script>

CSS

// Verstecke keine Event-Kategorien 
    
     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;
    }

Wenn jemand Vorschläge hat, wie man einen Wert abrufen kann, der in den Kategorieeinstellungen von einem Plugin gesetzt wurde (in diesem Fall die Einstellung des Event-Plugins “Allow events to be added to topics in this category.”), damit ich die Kategorien nicht fest codieren muss, wäre das auch großartig… aber ich weiß, dass ich zu viel verlange.