Ich habe nachgesehen; das Ausblenden des Feldes per API ist möglich, aber ich kann keine Daten finden, auf die ich mich verlassen kann, um zu wissen, ob dieser Benutzer genehmigt ist oder nicht (im Kontext der Einstellungsseite) ![]()
Das ist es, was ich bisher habe.
Ich bin mir nicht sicher, ob ich mich schlecht fühlen sollte; vielleicht ein bisschen hacky hier. ![]()
js
<script type="text/discourse-plugin" version="0.8">
const { setting } = require("discourse/lib/computed");
api.modifyClass("controller:preferences/account", {
pluginId: "hide-name-in-preferences",
get canEditName() {
const enables_name = setting("enable_names");
if (enables_name && this.isCurrentUser && !this.model.staff) {
if (this.model.name) {
// Nur das Eingabefeld ausblenden (Name wird angezeigt)
this.model.can_edit_name = false;
} else {
// Den gesamten Abschnitt ausblenden
return false;
}
}
return enables_name;
},
});
</script>