Sono un novellino ma interessato a risolvere il problema, quindi ho chiesto a chat-gpt:
Ecco la risposta:
Lo script che hai trovato è un buon punto di partenza. Modifica il controller poll-ui-builder per impostare la proprietà publicPoll su true quando viene chiamata la funzione onShow() del controller. Questo è effettivamente destinato ad essere aggiunto come componente del tema.
Tuttavia, il codice potrebbe non funzionare a causa dell’ordine di esecuzione. Il metodo onShow() originale imposta publicPoll su false e poi la modifica imposta publicPoll su true successivamente.
Un modo corretto sarebbe chiamare prima il metodo onShow() del genitore, e poi impostare publicPoll su true:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this._super(...arguments);
this.set('publicPoll', true);
}
});
</script>
Puoi aggiungere questo script al tuo tema seguendo questi passaggi:
- Vai alla dashboard di amministrazione di Discourse.
- Nella sezione “Personalizza”, fai clic su “Temi”.
- Seleziona il tema che desideri modificare.
- Nella schermata di modifica del tema, fai clic su “Modifica CSS/HTML”.
- Nella barra laterale sinistra, fai clic su “</>” Comune.
- Incolla lo script sopra nella sezione “</>” Comune.
- Fai clic sul pulsante “Salva”.
Questo applicherà la modifica al tuo tema. Ricorda che le modifiche al tema vengono applicate solo agli utenti che utilizzano quel particolare tema. Se hai più temi, dovrai aggiungere questa modifica a ciascuno di essi.
Inoltre, ricorda di cancellare la cache del tuo browser o di eseguire un ricaricamento forzato per assicurarti che le modifiche vengano caricate correttamente.
Proverò a seguire questi passaggi con l’amministratore del nostro Forum, ma ci vuole un po’ di tempo, se qualcun altro qui vuole provare prima e dare un feedback sarei molto felice.
Un’altra cosa che mi piacerebbe cambiare è il comportamento dell’interfaccia utente, voglio saltare la schermata semplice, quindi ho chiesto di nuovo a chat-gpt:
Nel tuo codice attuale, la vista estesa è controllata dalla proprietà showAdvanced. Se questa è impostata su true, verrà mostrata la vista avanzata.
Per mostrare sempre la vista avanzata, puoi modificare il metodo onShow() nel controller poll-ui-builder per impostare showAdvanced su true. Puoi aggiungere questa modifica al componente del tema che hai creato in precedenza. Ecco lo script aggiornato:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this._super(...arguments);
this.set('publicPoll', true);
this.set('showAdvanced', true);
}
});
</script>
Ricorda di seguire i passaggi che ho delineato in precedenza per aggiungere questo script al tuo tema. Una volta salvato lo script, la vista avanzata dovrebbe essere sempre mostrata al caricamento dell’interfaccia utente del sondaggio.
Ancora una volta, ricorda di cancellare la cache del tuo browser o di eseguire un ricaricamento forzato per assicurarti che le modifiche vengano caricate correttamente.
Mi piacerebbe provare a testare da solo in qualche modo, ma come detto prima sono solo un moderatore, non l’amministratore del nostro sito, quindi ci vorranno alcuni giorni o settimane.