Discourse offre ora un componente tema #ufficiale per supportare questo caso d’uso:
Contenuto Originale
Non sono sicuro che far puntare il logo principale di Discourse a un sito esterno sia una buona idea per la maggior parte dei siti, ma ci sono eccezioni in cui ha senso portare gli utenti su un sito web esterno quando fanno clic sul logo principale di Discourse. Se vuoi farlo, ecco come.
Crea un nuovo componente tema
nota, questa sezione della guida verrà presto estratta in un argomento dedicato.
Fai clic sul link “Componenti” dalla barra laterale della pagina Admin / Personalizza / Temi. Quindi, dal fondo della barra laterale, fai clic sul pulsante “Installa”:
Nella finestra modale che si apre, fai clic sul link “Crea nuovo”:
Dai un nome al tuo componente tema e assicurati che sia selezionato il tipo “Componente”. Quindi fai clic sul pulsante “Crea”:
Verrai quindi portato alla pagina principale del componente tema.
Aggiungi il codice al componente tema
Il codice per sovrascrivere l’URL predefinito del logo principale deve essere aggiunto alla sezione HEAD del tuo componente tema. Per accedere all’editor del componente, fai clic sul pulsante “Modifica CSS/HTML”:
Nell’editor che si apre, fai clic sul link “Head”:
A seconda di varie condizioni, aggiungi i seguenti snippet di codice alla sezione HEAD dell’editor per modificare l’URL a cui punta il logo della home page. Nota che devi sostituire https://example.com nel codice con l’URL completo della home page del tuo sito esterno:
- per cambiare il link a un URL statico:
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => "https://example.com")
</script>
- per restituire un URL dinamico basato sull’utente corrente:
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => {
const currentUser = api.getCurrentUser();
return `https://example.com/${currentUser.username}`;
})
</script>
- per restituire un URL basato su un’impostazione del componente tema:
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => {
return settings.example_logo_url_setting;
})
</script>
Fai clic sul pulsante “Salva” per salvare le modifiche. Torna alla pagina principale del componente tema dopo averlo fatto, quindi fai clic sul link “Aggiungi tutti i temi” per aggiungere il nuovo componente a tutti i temi del tuo sito:








