Utilizzare informazioni di discourse e calcoli di base in css personalizzato?

Ciao a tutti,

Sto cercando un modo per mostrare il numero di argomenti nelle categorie sulla pagina principale e se c’è un modo per ordinarli ulteriormente in base ai loro tag?

E qualche idea su come fare semplici calcoli usando i numeri sopra con javascript?

1 Mi Piace

Puoi iniziare da qui:

<script type="text/discourse-plugin" version="1.4.0">
    api.modifyClass("component:topic-list", {
      pluginId: "returnTopicList",
      didInsertElement: function() {
        this._super();
        console.log(this.topics);
      }
    });
</script>

Questo produrrà l’elenco degli argomenti e i loro attributi (comprese le etichette).
Suppongo che poi dovrai solo manipolare un po’ l’array per ottenere ciò che desideri.

1 Mi Piace

Ciao @Canapin,

Grazie per l’aiuto! Sono abbastanza all’oscuro di come funzioni il javascript su Discourse, puoi spiegarmi cosa fa/come funziona e come lavorarci?

Ho cercato un posto dove poter capire come funziona, hai qualche suggerimento?

2 Mi Piace

Per ulteriore contesto, sto cercando di ottenere il numero di argomenti in ciascuna categoria da estrarre da Discourse e utilizzare nella tabella per Discuss1-4. Se possibile, vorrei anche che la sottocategoria dell’argomento fosse ordinata in A-F. Tutto sommato, voglio solo che si aggiorni ogni volta che un argomento viene spostato, in modo da non doverlo fare manualmente.
Spero di averlo descritto bene e non esitate a chiedere chiarimenti :slight_smile:

(Mi scuso per la sciatteria della tabella)

1 Mi Piace

Non capisco bene cosa vuoi ottenere. Dove vuoi che venga visualizzata questa tabella? Su una nuova pagina o su una pagina esistente?
Cosa significano A B C D E F? Cosa significa Discuss 1-4? Sono categorie?
Hai bisogno del numero totale di post per ogni categoria?

1 Mi Piace

Ok, provo a riformularli dato che ho commesso un piccolo errore nel chiamare le tag sottocategorie.

Quindi avremo Discuss 1-4 = Categoria 1-4
e A-F saranno per tag

Quindi facciamo finta che la tabella sia vuota. Creo un nuovo argomento sotto la Categoria 1 e aggiungo una tag ‘A’. Ora la tabella dovrebbe mostrare un singolo argomento accanto alla Categoria 1 e sotto ‘A’:

Nel caso in cui rimuova la tag ‘A’ e assegni la tag ‘C’ la tabella si aggiornerà di conseguenza.

C’è un modo per farlo?

1 Mi Piace

Vuoi le informazioni o vuoi visualizzarle sulla pagina di Egret per ogni utente? Se si tratta della prima opzione, potresti voler utilizzare il plugin Data Explorer.

2 Mi Piace

CSS è troppo superficiale per questo scopo. È un linguaggio di stile per aiutare con il layout e l’aspetto.

Ciò che desideri è una soluzione end-to-end che utilizzi Rails per calcolare, riassumere e serializzare i tuoi dati, Ember JavaScript per ricevere i dati e presentarli in modo gradevole su una route e CSS per stilizzarli come richiesto. Potresti persino utilizzare la libreria D3 per creare una visualizzazione particolarmente gradevole.

Dai un’occhiata ai miei plugin Word Cloud o Network Vis che fanno esattamente tutto questo. Modificali per adattarli alle tue esigenze.

4 Mi Piace

Vorrei che venisse visualizzato per ogni utente

1 Mi Piace

Fantastico! Darò un’occhiata.

2 Mi Piace

Ciao @merefield,

Dopo averli controllati e aver visto come funziona dal link del generatore, sei sicuro che potrei semplicemente ottenere il numero di argomenti sotto una categoria con questi? Sto solo confermando prima di implementarlo nel mio discourse

1 Mi Piace

Ovviamente dovrai creare il tuo calcolo personalizzato, ma quello che ho condiviso era uno scheletro appropriato che sovrascrive tutte le parti corrette dell’architettura.

Quello che ne farai dipende da te…

2 Mi Piace