Attualmente, per modificare la homepage del tuo sito Discourse, devi configurare l’impostazione del sito menu superiore e inserire la homepage desiderata come prima opzione nell’elenco. Questo è un comportamento che risulta piuttosto poco chiaro per i nuovi amministratori.
Oggi stiamo integrando una modifica che aggiunge una nuova impostazione del sito homepage predefinita per rendere questo processo più chiaro e semplice.
I siti esistenti non dovranno fare nulla, poiché il valore predefinito per questa nuova impostazione è primo elemento nel menu superiore, che corrisponde alla funzionalità che abbiamo sempre avuto. Le stesse opzioni sono ancora presenti anche nella nuova impostazione. Se scegli una homepage disponibile solo per gli utenti connessi, come nuovo, continueremo a ricorrere al primo elemento del menu superiore disponibile per i visitatori anonimi.
Una modifica abilitata da questa nuova impostazione è che ora puoi avere una homepage che non è presente nel menu superiore. Quindi, ad esempio, puoi impostare categorie come homepage e rimuoverla dall’impostazione menu superiore, poiché il link a tutte le categorie è disponibile anche nella barra laterale.
Visto che stiamo per introdurre una nuova homepage tramite l’outlet custom-homepage, sono curioso di sapere se questa nuova impostazione includerà la homepage personalizzata quando un plugin o un componente del tema ne introduce una. Avevo infatti intenzione di aggiornare le preferenze utente per reimpostare l’impostazione della homepage sul valore predefinito -1.
Quindi, a seguito di ciò, questa nuova impostazione aggiornerà anche le opzioni nell’impostazione della homepage nelle preferenze utente?
Infine, se la homepage predefinita è impostata su primo elemento nel menu superiore e viene aggiunto un link personalizzato tramite api.addNavigationBarItem() posizionato come primo elemento, verrà effettivamente trattato come primo elemento?
No, questo rimane invariato. Il modificatore del tema per le homepage personalizzate sovrascrive completamente l’impostazione del sito. Navigare in questo contesto è un po’ complicato perché, se un sito ha più temi disponibili e uno di questi non ha una homepage personalizzata, dovremmo gestire una soluzione di fallback. Qualcosa da prendere in considerazione.
Ancora no… le opzioni sono comunque le stesse del menu principale, ma una cosa che è cambiata è che default sarà ora sempre disponibile nelle preferenze utente (in precedenza era condizionale). “Default” nelle preferenze utente seguirà l’impostazione del sito.
Anche qui la risposta è “ancora no” — al di fuori di una homepage personalizzata in un tema, la homepage di un sito Discourse ha ancora vari requisiti riguardo al fatto di essere una pagina di elenco argomenti (o /categories) e api.addNavigationBarItem() ha requisiti molto più flessibili.
Grazie, Kris. Sono molto coinvolto in questo progetto e sono curioso di vedere come evolverà.
Una osservazione che posso condividere è che quando un componente del tema introduce una homepage personalizzata, gli utenti con impostazioni personalizzate della homepage non la vedranno mai.
A differenza degli elementi del menu in alto, la homepage personalizzata non ha un percorso per cui posso creare un elemento di menu personalizzato.
Questo è il motivo principale, anche se sembra una decisione estrema, per cui stavo pianificando di reimpostare le preferenze degli utenti sul valore predefinito -1. AFAICT, questa sarà l’unica opzione per far sì che tutti gli utenti possano vedere la nuova homepage. Dopo di che, potranno comunque personalizzarla nelle proprie impostazioni.