Creazione di una homepage con filtro personalizzato

Posso creare una homepage dinamica come questa:

  • 10 Argomenti Recenti Attivi (questa settimana)
  • 5 Argomenti Creati Più Recenti (oggi)
  • 5 Argomenti Più Recenti (questa settimana)
  • 5 Argomenti con Più Risposte (questa settimana)
  • 5 Argomenti con Più Mi Piace (questa settimana)
  • 5 Argomenti Creati Più Recenti (ieri o oggi)

C’è un componente del tema attraverso il quale posso creare una homepage come questa in Discourse Filtered Topics List, ma sento che lo svantaggio è che funziona solo con un certo intervallo di tempo, quindi dovrei cambiare l’intervallo di tempo ogni giorno.

Voglio dire, per ora, funziona sulla base che posso aggiungere date, come:

activity-before:AAAA-MM-GG argomenti con l'ultimo bump prima della data specificata
activity-after:AAAA-MM-GG argomenti con l'ultimo bump dopo la data specificata
created-before: AAAA-MM-GG argomenti creati prima della data specificata
created-after:AAAA-MM-GG argomenti creati dopo la data specificata

Ma poi dovrei sempre cambiare le date. C’è qualche alternativa che posso fare nel forum?

2 Mi Piace

Inoltre, il problema principale di questo componente è che ripete gli argomenti in ogni ordinamento

Il tuo caso richiede che siano letteralmente il maggior numero di risposte/mi piace? Se usi l’elenco di argomenti /top puoi ottenere periodi di tempo automatici… i migliori fattori in visualizzazioni, mi piace e numero di post (e puoi regolare leggermente questi pesi con le impostazioni del sito)

Giusto, questa è una complicazione nell’ottenere più elenchi di argomenti, un componente dovrebbe incrociare ogni elenco e rimuovere i duplicati. Non molto complicato, ma non penso che sia stato implementato in alcun componente disponibile.

1 Mi Piace

Non completamente sulle risposte e sui “mi piace”, ma sì, sto solo cercando di creare una homepage dall’aspetto dinamico.

Quindi, un componente che possa rimuovere l’argomento duplicato da uno qualsiasi dei campi risolverebbe il problema?

Sì, non sarebbe troppo complicato aggiungere una funzione “nascondi duplicati” a Filtered Topic Lists, se @gormus fosse interessato. L’azione findFilteredTopics potrebbe essere modificata per memorizzare ogni ID di argomento in un elenco, e quindi i duplicati potrebbero essere filtrati.

Lo svantaggio è che se si desidera un elenco di 10 argomenti, se ne potrebbero ottenere solo 5 dopo la rimozione dei duplicati… ma ciò potrebbe essere parzialmente evitato recuperando forse alcuni elementi aggiuntivi oltre a quelli specificati nell’impostazione.

1 Mi Piace

Ho aggiunto elenchi filtrati alle home page di diversi progetti in precedenza e metterei in guardia dal fatto che per popolare più elenchi “più recenti” con filtri sovrapposti, è davvero necessaria una community molto attiva per iniziare. Ora, quando la tua community è così attiva, avrai anche un set di contenuti molto più ricco con cui lavorare per costruire una homepage dinamica. In tal caso, un blocco di elenchi diversi potrebbe piuttosto apparire statico e non così visivamente accattivante.

Sebbene per un angolo leggermente diverso, potresti anche esplorare l’idea di inserire solo uno o due elenchi con un filtro temporale manuale. Ciò potrebbe persino sembrare più dinamico per gli utenti. Come in questa visualizzazione:

Questa è una funzionalità che ho preso dal tema Central ed è disponibile qui come componente a blocchi: Manuel Kostka / Discourse / Blocks / Top Topics · GitLab

4 Mi Piace

Certo, potrebbe funzionare, ma in realtà volevo popolare più filtri sulla pagina.

2 Mi Piace

Sì, funziona davvero. Se @gormus fosse interessato :))

Ho apportato un aggiornamento oggi che aiuterà un po’ con questo: FEATURE: allow date-based filters to accept a day count by awesomerobot · Pull Request #33197 · discourse/discourse · GitHub (dovresti ottenerlo la prossima volta che aggiorni Discourse)

Questo ti permetterà di inserire il numero di giorni desiderato nei filtri activity/created-before/after, quindi puoi fare:

activity-after:7 argomenti attivi negli ultimi 7 giorni
created-after:1 argomenti creati dopo 1 giorno fa

Puoi anche usare 0 per oggi (come dopo mezzanotte)

7 Mi Piace

Accidenti, è stato veloce. Grazie!!

2 Mi Piace

Ciao @awesomerobot, volevo solo farti sapere che ho apportato le modifiche richieste e ora funziona perfettamente. Grazie :))

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.