Si verificano degli errori quando un nuovo utente si registra. La barra laterale destra non mostra alcuna informazione tranne il testo di benvenuto e il sottotitolo, ma senza il nome. So che mostra i like se ce ne sono e anche i badge. È possibile correggere questa barra laterale in modo che mostri i like e i badge? Intendo 0ricevuti, 0inviate e nessun badge. Non hai ancora alcun badge… Scopri come ottenerne alcuni… o qualcosa di simile. Quindi testo o link se non ci sono ancora badge.
Sì, funziona perfettamente per me su qualsiasi dispositivo. Penso che un tema sia difficile da causare questo problema.
Hai provato a riprodurre in modalità provvisoria?
Puoi pubblicare l’argomento dove si trova il video così possiamo controllarlo.
Ehi, sto imparando lo sviluppo di temi e plugin per Discourse. Mi piace molto il tema Fakebook e lo sto usando per approfondire la mia comprensione, ma ho alcune domande.
Il file “javascripts/discourse/templates/mobile/list/topic-list-item.hbr” contiene un duplicato al 100% del codice presente in “common/header.html”.
Le mie domande sono:
Non esiste un modo per includere un file .hbr in un file HTML, così da poter semplicemente includere topic-list-item.hbr in common/header.html invece di duplicare il codice in due punti diversi?
Perché abbiamo bisogno di topic-list-item.hbr in primo luogo? I file nella cartella common non dovrebbero applicarsi sia alla versione desktop che a quella mobile?
Non credo di sì… normalmente potrei creare un componente che utilizza un unico template e poi includerlo per il componente in entrambe le sovrascritture… ma i nostri elementi della lista degli argomenti sono un tipo speciale di template ottimizzato per le prestazioni (hbr = template raw Handlebars), e i template raw non possono utilizzare i componenti. (Alcune discussioni precedenti su Mounting widget in raw template? - #7 by angus)
È così che è strutturato il CSS di Discourse (e alcuni file HTML speciali per i temi come header/footer, ecc.), ma all’interno della directory javascripts/discourse/templates quei template sono sovrascritture dirette dei default di Discourse (quando non c’è una sovrascrittura, vengono utilizzati i template predefiniti).
In Discourse ci sono due template: /templates/list/topic-list-item.hbr e /templates/mobile/list/topic-list-item.hbr. Quindi, poiché esistono due template, abbiamo bisogno di due sovrascritture.
Forse esiste un modo semplice per puntare la versione mobile al template non mobile nel codice JS… ma se esiste, non ne sono a conoscenza!
Ho parlato troppo in fretta! Ho dato un’occhiata e ho risolto il problema poco dopo aver pubblicato la risposta qui sopra. A volte scrivere le cose può aiutare.
Ho apportato un aggiornamento in modo che ci sia un solo template… di default in topic-list-item.js abbiamo un codice simile a questo:
Questo ora punta a un template separato e, poiché non esiste una controparte mobile con lo stesso nome… viene utilizzato anche per i dispositivi mobili. Grazie per aver ispirato questo cambiamento con la tua domanda @hyd504!