Danke, @tshenry. Ich bin mir nicht sicher, warum der Code für den Gruppenbesitzer bei mir nicht funktioniert hat – wahrscheinlich liegt es an meiner Plugin-Konfiguration.
Ich habe festgestellt, dass der AJAX-Ansatz als „MVP“-Methode funktioniert. Übrigens: Ich glaube, man kann eine API-Anfrage an [forum-url]/groups.json stellen, um alle Gruppen der Seite abzurufen, und dann einfach durch die Ergebnisse iterieren. Es sind also keine mehreren Aufrufe nötig.
Ich wollte folgende Fragen stellen:
– Beim AJAX/JSON-API-Ansatz: Weißt du, wie man dafür sorgt, dass eine Funktion nur ausgeführt wird, wenn ein Benutzer eine bestimmte Seite aufruft? Aktuell, wenn ich den AJAX-Code im </head>-Bereich meines angepassten Dashboards platziere, funktioniert es zwar, aber es wird bei jedem Laden der Seite ausgeführt (während ich es nur beim Laden der Gruppenindexseite ausgeführt haben möchte).
– In meinem Fall nutze ich AJAX derzeit vor allem, weil ich nicht nur die Gruppenbesitzer anzeigen muss, sondern auch einige weitere neue Merkmale einer Gruppe, die ich hinzufüge. Das wären wie benutzerdefinierte Felder der Gruppe, die ich abrufen und anzeigen möchte. Derzeit ist die „MVP“-Version (während ich noch lerne, wie die Discourse-Codebasis funktioniert), diese Daten in einer separaten, nicht-Discourse-Datenbank zu speichern, von der ich sie abrufe und auf der Gruppenindexseite anzeige.
Offensichtlich wäre die sauberere Lösung, die benutzerdefinierten Merkmale direkt in der Discourse-Datenbank bei den Gruppen zu speichern und diese dann abzurufen. Ich versuche nur abzuschätzen, welcher Aufwand dafür nötig wäre. Würde das bedeuten, dass ich viele Discourse-Dateien (Controller, Modelle, Vorlagen) neu bearbeiten müsste?