Sono ancora nuovo su Discourse, ma sto imparando di più su come programmare sopra di esso per personalizzare le cose. Sto cercando di capire il modo migliore per inserire codice in punti specifici di una pagina (più mirato rispetto a un’area generica). Sembra che dovrò sovrascrivere il template che controlla quel punto.
Interpretando questo come il fatto che, sia che lo faccia nell’area <head> della mia dashboard di personalizzazione, sia in un repository GitHub separato che userò come tema, dovrò:
Trovare il template giusto da modificare
Ristampare l’intero template ovunque stia facendo la mia codifica (dashboard, repo, ecc.), e
Apportare le modifiche desiderate al template
Il passaggio 1 si sta rivelando un ostacolo. Come faccio a trovare il template giusto da modificare?
Ecco cosa ho capito: i template di Discourse si trovano qui, e sembra che i “veri” template che vorrò modificare siano generalmente nel file dei componenti qui.
Come esempio, supponiamo che voglia aggiungere una riga a ogni elenco di gruppi nella pagina degli indici dei gruppi (l’equivalente di questa pagina). Dove si trova il template per quello? La mia migliore ipotesi è che sia il template group card, ma non ne sono sicuro, specialmente perché sono completamente nuovo a Ember.
Esiste un modo più sicuro per identificare il template giusto?
Ho capito. Usandolo, c’è una cosa che non mi è chiara (probabilmente è perché sono nuovo a Ember):
Se guardi la pagina dei gruppi di Discourse https://meta.discourse.org/g, ogni voce del gruppo ha un nome e un conteggio degli utenti.
Usando l’ispettore Ember, vedo che il nome proviene dal template groups-info, ma da dove arriva il group-user-count? (non sembra avere una voce nell’ispettore Ember)
Grazie. Vedo che group-user-count appare alla riga 55.
Significa che, se volessi, ad esempio, aggiungere una riga subito prima della riga group-user-count, dovrei copiare l’intero file index.hbs di 100 righe nel mio codice e inserirlo in questo modo: <script type="text/x-handlebars" data-template-name="groups/index">
[100 righe qui] </script>
Vuoi dire modificare il codice nelle uscite plugin circostanti? (come components/group-info)
EDIT: Scusa, ho confuso i template con le uscite plugin. Ho capito che le uscite plugin sono righe nel codice di Discourse (come {{plugin-outlet name="topic-above-post-stream" args=(hash model=model)}) inserite dal team di Discourse come punti di ancoraggio che puoi utilizzare per modificare il codice.