Aiuto per principianti sull'accesso al codice

Ciao,

sono nuovo di Discourse e dell’open source in generale. Non sono uno sviluppatore (a parte HTML/CSS), ma di solito riesco a capire intuitivamente come tagliare e incollare il codice da una posizione all’altra per far apparire un elemento in un punto diverso. Questo è praticamente il limite delle personalizzazioni che mi aspetto di fare, oltre a quelle che già posso gestire tramite

Ho creato un campo utente che vorrei far apparire direttamente sotto il Nome completo dell’utente sulla scheda utente, invece che nella sua posizione abituale sotto i campi utente standard. Quindi ho bisogno di una piccola personalizzazione, ma questo mi porta a una domanda più ampia: come si accede al tema/al codice?

Nel tentativo di rispondere a questa domanda (estremamente basilare), penso di aver trovato il file associato al codice che dovrei manipolare nella mia installazione locale: discourse/app/assets/javascripts/discourse/templates/components/user-card-contents.hbs. Ho scelto di ospitare il mio nuovo forum su discourcehosting.com, quindi non sono sicuro di come modificare quel file quando non ho accesso diretto ai file.

Mi scuso per la banalità della domanda e per quanto probabilmente possa sembrare sciocco nel porla. Ma ti assicuro che le intenzioni sono buone.

Grazie.

Inizia da Beginner's guide to using Discourse Themes e segui i link alle guide specifiche sui temi per fare ciò che desideri. :slight_smile:

Grazie per il link, maiki. Prometto di aver riletto quella guida una dozzina di volte negli ultimi giorni per assicurarmi di non aver trascurato nulla di ovvio. Capisco come e dove accedere alle personalizzazioni per lo stile e il codice nell’head, nel body, ecc., ma credo che quello che cerco è chiarezza sul fatto che le modifiche che vorrei apportare equivalgano essenzialmente a creare un “nuovo tema” (quando in realtà sto solo cercando di modificare la posizione in cui alcune cose appaiono in pochi casi).

Direi che si trattava di un componente del tema.

Non pensarci troppo, crea semplicemente un tema. È divertente! Ce la farai. :slight_smile:

Sono riuscito a apportare la modifica al file locale discourse/app/assets/javascripts/discourse/templates/components/user-card-contents.hbs per ottenere l’effetto desiderato. Non sono sicuro, però, di come modificare quel file se non sto facendo un self-hosting…

È possibile sovrascrivere i template HBS utilizzando i componenti del tema, operazione che può essere eseguita dall’interfaccia web di amministrazione.

Ecco come fare: Developing Discourse Themes & Theme Components

Quindi, nel tuo caso, dovresti creare un nuovo componente del tema e inserire questo codice:

<script type="text/x-handlebars" data-template-name="components/user-card-contents">

</script>

e poi copiare il contenuto del file modificato tra questi tag script.

Modificare direttamente i file di Discourse è a) impossibile sul nostro hosting e b) generalmente sconsigliato, poiché comprometterebbe completamente il sito durante un aggiornamento. Il metodo descritto sopra è quello da seguire, sia che tu utilizzi il nostro hosting o meno!

Se desideri semplicemente aggiungere un campo utente alla scheda utente, potresti valutare l’uso di un outlet plugin, descritto un po’ più in alto nello stesso articolo e qui. Il metodo degli outlet plugin richiede meno modifiche al codice, garantendo una migliore compatibilità durante gli aggiornamenti. È leggermente meno flessibile, poiché richiede la disponibilità di un outlet plugin adatto alle tue esigenze.