Riepilogo:
Dai a ciascun utente una Homepage specifica (“Categoria Home”) nella tua community.
Consente di avere un’unica istanza di Discourse in cui gli utenti hanno “pagine iniziali” specifiche (leggi: Categorie) determinate dal loro Gruppo Primario.
GitHub: Repository https://github.com/merefield/discourse-category-home
Installazione: Segui la guida all’installazione dei plugin.
Ti piace questo plugin? Per favore,
mettilo su GitHub ! ![]()
Funzionalità
Utilizzando solo gli elementi dell’interfaccia disponibili di una normale istanza di Discourse, questa è una soluzione robusta e facile da mantenere.
Configurazione
Utilizzando la normale funzionalità di Discourse:
- Decidi quante “home” di Categoria
desideri, creale se non esistono:
- A meno che non esistano già, crea un Gruppo distinto per ciascuna di esse
- Aggiungi gli Utenti a ciascuno di questi Gruppi in modo appropriato
- Imposta quel Gruppo come Gruppo Primario di ciascun Utente
- Autorizza ciascuno di questi Gruppi alla rispettiva Categoria.
Hai FINITO! ![]()
Ora, ogni volta che qualcuno naviga alla Homepage della tua community, verrà reindirizzato alla Categoria per la quale il suo Gruppo Primario è autorizzato.
NB: Questo segue una semplice regola a cui devi attenerti: Se qualcuno ha un Gruppo Primario registrato e questo è autorizzato a una singola Categoria, verrà reindirizzato a quella Categoria come sua home.
L’utilizzo di un Gruppo Primario in questo modo presenta una serie di vantaggi, come potresti aver notato dal link sopra, non da ultimo:
- Puoi assegnare un Titolo a qualcuno
- Puoi dargli un Flair
- Puoi stilizzare i suoi Post
Altre considerazioni
Rendi le tue Pagine Home di Categoria più d’impatto stilizzandole in modo distintivo, ad esempio con: Category Banners
Verifica delle autorizzazioni distinte per Categoria/Gruppo Primario
Per verificare che il tuo Gruppo Primario sia associato a una sola Categoria, puoi utilizzare questa comoda funzionalità integrata di Discourse, ad esempio:
C’è solo una Categoria nell’elenco, ottimo! ![]()
La parte tecnica
La logica esatta impiegata è questa:
return CategoryGroup.where(group_id: primary_group).first.category_id
Sebbene possa essere possibile “truccarla”, è probabilmente sconsigliabile se utilizzi quel Gruppo Primario su più di una Categoria se ti aspetti che funzioni, quindi tienilo a mente e attieniti alla mia raccomandazione.
Fornire maggiore flessibilità
Sono aperto a suggerimenti su come configurare ulteriormente questo comportamento, ma vorrei limitare la quantità di impostazioni personalizzate e utilizzare il più possibile il comportamento e i dati standard. Se hai in mente una soluzione semplice ed elegante, fammelo sapere.
Non riesci a installare plugin/La cosa del Gruppo Primario non funziona per te?
Se non puoi installare Plugin (perché sei su un piano di hosting restrittivo), o se la configurazione del Gruppo Primario non funziona per te, considera questa alternativa di Componente Tematico: Custom Homepage for Groups che richiede una configurazione più personalizzata, ma è meno invasiva.
