Wie kann man die Kategorienroute richtig erweitern und Themen filtern?

Hallo,

Das Setup, implementiert als Plugin und Theme:
Wir haben für jede Kategorie mehrere Registerkarten, jede mit einem unterschiedlichen Ziel.

  • „Über“ verlinkt auf ein spezifisches, automatisch generiertes Thema, das in der Themenliste unsichtbar ist. (/t/topic-slug/20)

  • „Themen“ ist die Liste der „normalen“ Themen, das übliche Verhalten. (/c/parent-slug/child-slug/11)

  • „Events“ ist eine Liste von Themen, die Event-Einladungen enthalten (unter Verwendung des discourse-calendar-Plugins). Diese Themen sind entweder mit „event“ getaggt, haben archetype=“event” oder beides. (/c/parent-slug/child-slug/11?archetype=event)

  • „Mitglieder“ verlinkt auf die Gruppenseite einer automatisch generierten Gruppe, die dieser spezifischen Kategorie zugewiesen ist. (/g/group-slug)

Die Probleme:

  1. Das Hauptproblem ist, dass wir verschiedene Arten von Themen haben werden. Aktuell haben wir „normal“ und „Event“, aber aus geschäftlichen Gründen planen wir, einige weitere hinzuzufügen. Ich bin hin- und hergerissen zwischen der Verwendung von Tags oder Topic.archetype, um sie zu unterscheiden. Unabhängig davon, was wir verwenden, möchten wir in der Lage sein, Themen eines bestimmten Typs unter ihrem entsprechenden Tag zu filtern, und die Liste soll sich wie gewohnt verhalten. Das heißt, das automatische Laden von Themen beim Scrollen sollte ebenfalls nach diesem Thementyp gefiltert werden, und Banner, die die Erstellung eines neuen Themas ankündigen, sollten nur erscheinen, wenn Sie die Registerkarte des entsprechenden Thementyps (normal oder Event) des neu erstellten Themas ansehen. (Das heißt, „1 neues oder aktualisiertes Event anzeigen“ sollte nur erscheinen, wenn Sie die Events-Registerkarte ansehen.)

  2. Das sekundäre Problem ist, dass wir die Kategorie-URLs erweitern möchten, um die Tab-URLs konsistent zu machen. Das heißt:

  • „Über“ verlinkt auf “/c/parent-slug/child-slug/11/about”,
  • „Themen“ verlinkt auf “/c/parent-slug/child-slug/11/regular”,
  • „Events“ verlinkt auf “/c/parent-slug/child-slug/11/events”,
  • „Mitglieder“ verlinkt auf “/c/parent-slug/child-slug/11/members”,

Wir haben nach Beispielen für Plugins gesucht, die Ähnliches tun, wie wir es wollen, aber das Favorites-Plugin ist defekt, und die [ Custom top navigation links](Custom Top Navigation Links - #4)-Theme-Komponente ist für Links auf oberster Ebene gedacht.

Gibt es eine korrekte Möglichkeit, benutzerdefinierte Routen auf Kategorienebene zu erstellen, ähnlich wie “/c/category-slug/11/l/latest”, “/c/category-slug/11/l/new” und “/c/category-slug/11/l/top”? Ich denke daran, Tags zu verwenden, um verschiedene Arten von Themen zu filtern, aber ich habe bemerkt, dass das Banner „neues oder aktualisiertes Thema“ nicht erscheint, wenn ich nach Tag gefiltert bin. Ist die Verwendung von Archetypen dann der richtige Weg?

Mir ist bewusst, dass dies ein langer Beitrag mit mehreren Fragen ist, aber jeder Input wäre willkommen.

Ich habe dein Thema gerade in Development verschoben. Überlege dir, den Titel so anzupassen, dass er eher wie eine Frage klingt, damit die Leute erkennen, dass du Antworten brauchst. Vielleicht etwas in der Art von *„Gibt es eine korrekte …?