Opzione per nascondere le categorie di 3° livello nella homepage delle categorie senza perdere il layout

Utilizziamo una struttura di categorie profonda a due livelli (tutte le biblioteche pubbliche della nostra città con i loro singoli filiali, più una biblioteca centrale con le proprie categorie di primo livello). Recentemente, abbiamo avuto bisogno di introdurre un terzo livello di annidamento in alcuni rami di categorie.

Non appena una categoria anywhere nell’albero ha una categoria nipote, la homepage delle categorie cambia il suo modalità di rendering: invece della griglia compatta di riquadri (categoria genitore con i suoi figli diretti elencati all’interno), tutte le categorie vengono renderizzate come un lungo elenco a colonna singola. Questo rende la homepage estremamente lunga e difficile da scorrere per i nostri ~1.200 utenti staff.

Sembra che questo sia governato dalla proprietà isGrandParent descritta in questo thread correlato: When you add an additional nesting level, all categories, including child categories, are displayed on the categories page

Cosa vorremmo

La nostra opzione preferita: un modo per mantenere il layout standard “a riquadri” della homepage anche quando una categoria ha un terzo livello di annidamento — ad esempio, semplicemente non mostrando le categorie nipoti sulla homepage (sarebbero comunque raggiungibili tramite la pagina della categoria genitore).

In alternativa, una vista nativa, espandibile/collassabile per le categorie con nipoti direttamente sulla homepage delle categorie, così gli utenti possono espandere solo i rami di cui hanno bisogno invece di avere tutto elencato in modo piatto.

Perché chiediamo una soluzione nativa/ufficiale

Siamo consapevoli che esistono workaround tramite componenti tematici/CSS o JS (ad esempio, sovrascrivendo isGrandParent tramite modifyClass) discussi nel thread più vecchio linkato sopra. Preferiremmo non seguire questa strada: non abbiamo competenze front-end approfondite interne, e siamo preoccupati per effetti collaterali imprevisti o rotture negli aggiornamenti futuri di Discourse se sovrascrivessimo noi stessi la logica di rendering core. Un’impostazione supportata o un’opzione ufficiale sarebbe molto più sicura per noi da mantenere a lungo termine.

Siamo consapevoli che Discourse non raccomanda ufficialmente un annidamento profondo, ma per la nostra struttura organizzativa (multiple istituzioni, ciascuna con diverse sedi fisiche, ciascuna con bisogno del proprio spazio) non è opzionale per noi.

Un modo supportato per controllare la visualizzazione della homepage in questi casi aiuterebbe molto e siamo sicuri che, dal 2021, ci possa essere bisogno di un terzo livello nascosto anche in altre organizzazioni, vero?

Screenshot allegati: il nostro attuale layout homepage a due livelli

e come si rompe attualmente una volta introdotto un terzo livello.

1 Mi Piace