Come devo abilitare lo schema di colori della modalità oscura automatica per tutti gli utenti, sovrascrivendo le impostazioni del loro account?
Immagino che tu debba forzare gli utenti disabilitando la possibilità di scegliere lo schema di colori
vai su impostazioni → personalizzazione → colori → Lo schema di colori può essere selezionato dagli utenti ((disabilitalo))
poi torna allo stile e assegna uno schema di colori che apparirà agli utenti forzatamente
Grazie per aver provato ad aiutare ![]()
È già disabilitato.
Lo chiedo come menzionato qui: Automatic Dark Mode color scheme switching
Voglio che questa impostazione sia forzata per tutti gli utenti, ma non riesco a trovare un modo per farlo.
Forse desideri l’id dello schema di colori della modalità oscura predefinita nelle impostazioni dell’amministratore?
Il bot delle impostazioni di Discourse dice:
È impostato sullo schema di colori scuro
Alcuni utenti hanno segnalato che questa impostazione non è abilitata per loro e hanno problemi a vedere il logo in modalità scura dopo aver abilitato l’impostazione, il che risolve il problema.
Mi stavo chiedendo perché questa impostazione non sia abilitata per tutti gli utenti. Ecco perché stavo cercando un modo per abilitarla forzatamente per tutti gli utenti.
Non puoi farlo dall’interfaccia.
Puoi aggiornare in blocco le opzioni utente utilizzando un comando rails, anche se va fatto con cautela.
Ti suggerisco di verificare prima quanti utenti hanno questa impostazione disabilitata utilizzando, ad esempio, data explorer. Se il numero non è elevato, puoi impostarla manualmente o chiedere agli utenti di farlo da soli.
Penso che dovresti anche assicurarti quale sia il valore predefinito quando viene creato un account.
Grazie, potresti dirmi i comandi di Rails?
Ho installato Data Explorer, potresti dirmi lo script per vedere quanti utenti lo hanno abilitato?
Grazie per il tuo aiuto, lo apprezzo molto. ![]()
Per impostazione predefinita, l’impostazione utente della modalità scura è “Uguale alla normale”.
Nel database, è definita dal valore user_options.dark_scheme pari a NULL.
“Scuro” è -1. Altri valori sono numeri interi positivi.
La query per restituire gli utenti che non hanno il valore predefinito sarebbe:
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
Ci sono 59 risultati.
Ora come posso modificare in blocco le loro impostazioni con comandi rails?
Sono un po’ confuso ora. Perché vorresti rompere la scelta dei colori dell’utente? Se non volessi dare delle scelte, allora disinstalla tutti gli schemi di colori diversi da quelli predefiniti chiari e scuri. Questo è tutto.
Puoi reimpostare questa preferenza per gli utenti che l’hanno modificata con questo script Rails:
UserOption.where.not(dark_scheme_id: nil).find_each do |uo|
uo.update(dark_scheme_id: nil)
end
L’ho usato con successo sulla mia istanza di test, ma tieni presente che non sono un esperto di Rails e, ovviamente, fai sempre prima un backup. ![]()
Non ci sono scelte. Questa impostazione semplicemente non è abilitata per impostazione predefinita per molti dopo che ho selezionato uno schema di colori scuro per la modalità scura automatica dalle impostazioni del sito.
Voglio che questa sia abilitata per tutti. Ma ci sono 59 utenti che non ce l’hanno abilitata per impostazione predefinita e non sanno perché.
Per essere chiari, l’impostazione nello screenshot proviene dal pannello di amministrazione (a livello di server), non da una preferenza personale.
Quest’ultima è:

No, questa è una preferenza dell’utente, viene mostrata agli utenti quando si abilita la modalità scura automatica dalle impostazioni del sito.
Quindi devo fare questo per essere chiaro:
cd /var/discourse
./launcher enter app
Poi
UserOption.where.not(dark_scheme_id: nil).find_each do |uo|
uo.update(dark_scheme_id: nil)
end
Giusto?
No, aspetta. Non sono sicuro di aver compreso appieno la richiesta e potrei non avere abbastanza informazioni su questa impostazione della modalità scura ![]()
L’amministratore del sito che ho trovato è:
Dov’è l’impostazione di cui stai parlando:
?
Per favore, guarda qui:
Riguarda proprio questo.
Ok. Ho dovuto disabilitare gli schemi di colori per far apparire questa opzione. Darò un’altra letta a questo argomento per capire meglio.
Sì! è “id dello schema di colori della modalità oscura predefinita”
Ok, quindi deselezionando “Abilita schema colore automatico modalità scura” imposta user_options.dark_scheme su -1, e selezionandolo lo imposta su NULL.
Quindi, se vuoi che tutti gli utenti abbiano questa impostazione selezionata, puoi usare il mio script.
Anche l’impostazione predefinita quando viene creato un nuovo utente è selezionata.
Esegui rails c dopo per accedere alla console rails.
Se lo script produce un log, puoi premere q per uscire.

