Qualcuno sa se esiste una guida o un esempio per questo da qualche parte, per favore?
Immaginiamo di utilizzare un componente del tema per creare una colonna laterale: come posso elencare i 20 argomenti pubblici più recenti (o, se è più semplice, quelli delle categorie specificate nella query) in quella colonna laterale/componente del tema?
Ci sono un paio di modi per farlo. Il più semplice è utilizzare una chiamata AJAX all’endpoint dell’API Rails che fornisce i dati che desideri visualizzare. Se vuoi gli ultimi 20 argomenti, potresti provare /latest.json.
La sfida sorge se devi combinare informazioni da più endpoint: in tal caso, devi attendere il completamento di più chiamate, il che può rallentare significativamente le prestazioni nel componente del tema.
C’è un modo semplice per riutilizzare semplicemente i feed/dati che Discourse fornisce già? (In modo che rispettino anche le impostazioni dell’utente).
Ad esempio, in una colonna laterale potremmo avere:
Gli ultimi 10 argomenti (feed dalla pagina Ultime, ma che rispetta anche le categorie silenziate)
Gli argomenti più popolari questa settimana (da /top)
Gli argomenti più popolari questo mese
Gli argomenti più popolari quest’anno
Gli utenti più attivi questo mese (da /u?period=monthly)
In realtà, su altre piattaforme forum questo è abbastanza semplice da fare e mi manca molto su Discourse
Pensi che sarebbe più o meno lo stesso che interrogare direttamente il database con le query eseguite da quegli endpoint? (O utilizzerebbe significativamente più risorse, come se dovessi caricare 5 pagine aggiuntive, una per ogni endpoint).
In ogni caso, mi farebbe molto piacere sperimentare: ci sono guide o tutorial che mostrano come recuperare dati da un endpoint in un componente del tema? (O sarebbe meglio/più efficiente creare un plugin invece?)
Sapere come creare un componente del tema e un plugin ‘fittizio’, ma non ho trovato guide che mostrino come recuperare dati dal database in essi.