Wie aktiviere ich das „automatische Dunkelmodus-Farbschema“ für alle Benutzer, sodass ihre Kontoeinstellungen überschrieben werden?
Ich schätze, Sie müssen die Benutzer zwingen, indem Sie die Möglichkeit deaktivieren, das Farbschema auszuwählen.
Gehen Sie zu Einstellungen → Anpassung → Farben → Das Farbschema kann von Benutzern ausgewählt werden ((deaktivieren Sie es)).
Gehen Sie dann zurück zum Stil und weisen Sie ein Farbschema zu, das den Benutzern zwangsweise angezeigt wird.
Danke für deine Hilfe ![]()
Es ist bereits deaktiviert.
Ich frage danach, wie hier erwähnt: Automatic Dark Mode color scheme switching
Ich möchte, dass diese Einstellung für alle Benutzer erzwungen wird, aber ich kann keinen Weg dafür finden.
Vielleicht möchten Sie die default dark mode color scheme id in den Admin-Einstellungen?
Der Discourse-Einstellungsbot sagt:
Es ist auf ein dunkles Farbschema eingestellt
Einige Benutzer berichteten, dass diese Einstellung für sie nicht aktiviert war und sie Probleme hatten, das Logo im dunklen Modus zu sehen. Nach der Aktivierung der Einstellung wurde das Problem behoben.
Ich habe mich gefragt, warum diese Einstellung nicht für alle Benutzer aktiviert ist. Deshalb habe ich nach einer Möglichkeit gesucht, sie für alle Benutzer zu erzwingen.
Das können Sie nicht über die Benutzeroberfläche tun.
Sie können Benutzeroptionen mit einem Rails-Befehl massenhaft aktualisieren, dies sollte jedoch mit Vorsicht geschehen.
Ich schlage vor, Sie prüfen zuerst, wie viele Benutzer diese Einstellung deaktiviert haben, zum Beispiel mit dem Data Explorer. Wenn die Zahl nicht hoch ist, können Sie sie manuell festlegen oder die Benutzer bitten, dies selbst zu tun.
Ich denke, Sie sollten auch sicherstellen, was der Standardwert ist, wenn ein Konto erstellt wird.
Vielen Dank, können Sie mir bitte die Rails-Befehle nennen?
Ich habe Data Explorer installiert. Können Sie mir ein Skript nennen, um zu sehen, wie viele Benutzer es aktiviert haben?
Vielen Dank für Ihre Hilfe, ich weiß es wirklich zu schätzen. ![]()
Standardmäßig ist die Benutzereinstellung für den Dunkelmodus „Wie normal“.
In der Datenbank wird dies durch den Wert user_options.dark_scheme als NULL definiert.
„Dunkel“ ist -1. Andere Werte sind positive ganze Zahlen.
Die Abfrage, um Benutzer zurückzugeben, die nicht den Standardwert haben, lautet:
SELECT
u.username,
up.dark_scheme_id
FROM
users AS u
JOIN
user_options AS up
ON
u.id = up.user_id
WHERE up.dark_scheme_id IS NOT NULL
Es gibt 59 Ergebnisse.
Wie kann ich jetzt deren Einstellungen mit Rails-Befehlen ändern?
Ich bin jetzt etwas verwirrt. Warum sollten Sie die Farbauswahl des Benutzers ändern wollen? Wenn Sie keine Auswahlmöglichkeiten anbieten möchten, deinstallieren Sie einfach alle Farbschemata außer den Standard-Hell- und Dunkeloptionen. Das ist alles.
Sie können diese Einstellung für die Benutzer, die sie geändert haben, mit diesem Rails-Skript zurücksetzen:
UserOption.where.not(dark_scheme_id: nil).find_each do |uo|
uo.update(dark_scheme_id: nil)
end
Ich habe es erfolgreich auf meiner Testinstanz verwendet, aber denken Sie daran, dass ich kein Rails-Experte bin und natürlich immer zuerst ein Backup erstellen sollten. ![]()
Es gibt keine Auswahlmöglichkeiten. Diese Einstellung ist einfach für viele nicht standardmäßig aktiviert, nachdem ich ein dunkles Farbschema für den automatischen Dunkelmodus in den Website-Einstellungen ausgewählt habe.
Ich möchte, dass dies für alle aktiviert wird. Aber es gibt 59 Benutzer, bei denen dies nicht standardmäßig aktiviert ist und die nicht wissen, warum.
Um das klarzustellen: Die Einstellung in Ihrem Screenshot stammt aus dem Admin-Panel (serverweit) und nicht aus einer persönlichen Präferenz.
Letzteres wäre:

Nein, dies ist eine Benutzereinstellung, die den Benutzern angezeigt wird, wenn Sie den automatischen Dunkelmodus in den Website-Einstellungen aktivieren.
Muss ich das also tun, um es klarzustellen:
cd /var/discourse
./launcher enter app
Dann
UserOption.where.not(dark_scheme_id: nil).find_each do |uo|
uo.update(dark_scheme_id: nil)
end
Richtig?
Nein, warte. Ich bin mir nicht sicher, ob ich die Anfrage vollständig verstehe und mir fehlen möglicherweise einige Informationen zu dieser Dunkelmodus-Einstellung ![]()
Der Website-Administrator, den ich gefunden habe, ist:
Wo ist die Einstellung, von der du sprichst:
?
Bitte siehe hier:
Es geht nur um dieses eine.
Okay. Ich musste Farbschemata deaktivieren, damit diese Option angezeigt wird. Ich werde dieses Thema noch einmal durchgehen, damit ich es besser verstehe.
Ja! Es ist „Standard-Dunkelmodus-Farbschema-ID“.
Okay, also deaktiviert "Automatischen Dunkelmodus aktivieren" setzt user_options.dark_scheme auf -1, und aktiviert setzt es auf NULL.
Wenn Sie also möchten, dass alle Benutzer diese Einstellung aktiviert haben, können Sie mein Skript verwenden.
Die Standardeinstellung, wenn ein neuer Benutzer erstellt wird, ist ebenfalls aktiviert.
Führen Sie danach rails c aus, um die Rails-Konsole zu öffnen.
Wenn das Skript eine Protokollausgabe erzeugt, können Sie es mit \u003ckbd\u003eq\u003c/kbd\u003e beenden.

