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.
Vorrei poter far sì che gli utenti anonimi atterrino su una homepage personalizzata, mentre gli utenti registrati atterrino sulla pagina degli ultimi contenuti. O almeno vorrei avere questa opzione.
Il caso d’uso consiste nell’utilizzare Discourse per fornire una singola pagina iniziale / landing page personalizzata per i visitatori occasionali, mantenendo al contempo l’accesso senza attriti per i nostri utenti abituali all’esperienza completa del forum.
Sebbene questo sia tipicamente ottenuto mantenendo un sito web separato e Discourse su un sottodominio, tale approccio comporta un significativo aumento degli oneri amministrativi e dei costi. Vorrei semplificare le cose mantenendo tutto in un’unica istanza.
È possibile farlo con la nuova impostazione al momento?
sì, è un caso interessante, ma al momento non è possibile con le impostazioni del sito
mi vengono in mente alcune alternative:
crea una homepage personalizzata per entrambi e gestisci la logica in base alla verifica dell’utente (ovviamente richiede un po’ più di manutenzione rispetto all’uso di una soluzione standard)
la preferenza dell’interfaccia utente per “homepage predefinita” sovrascriverà la homepage del tema personalizzato, quindi un piccolo adattamento per sfruttarla potrebbe funzionare… qualcosa come