Discourse propose désormais un composant de thème official pour prendre en charge ce cas d’utilisation :
Contenu original
Je ne suis pas sûr qu’il soit judicieux que le logo principal de Discourse renvoie vers un site externe pour la plupart des sites, mais il existe des exceptions où il est logique d’envoyer les utilisateurs vers un site Web externe lorsqu’ils cliquent sur le logo principal de Discourse. Si vous souhaitez le faire, voici comment.
Créer un nouveau composant de thème
note, cette section du guide sera bientôt extraite dans un sujet dédié.
Cliquez sur le lien « Composants » dans la barre latérale de votre page Admin / Personnaliser / Thèmes. Ensuite, en bas de la barre latérale, cliquez sur le bouton « Installer » :
Dans la fenêtre modale qui s’ouvre, cliquez sur le lien « Créer un nouveau » :
Donnez un nom à votre composant de thème et assurez-vous que le type « Composant » est sélectionné. Cliquez ensuite sur le bouton « Créer » :
Vous serez ensuite dirigé vers la page principale du composant de thème.
Ajouter le code au composant de thème
Le code pour remplacer l’URL par défaut du logo principal doit être ajouté à la section HEAD de votre composant de thème. Pour accéder à l’éditeur du composant, cliquez sur le bouton « Modifier CSS/HTML » :
Dans l’éditeur qui s’ouvre, cliquez sur le lien « Head » :
Selon diverses conditions, ajoutez les extraits de code suivants à la section HEAD de l’éditeur pour modifier l’URL vers laquelle le logo d’accueil pointe. Notez que vous devez remplacer https://example.com dans le code par l’URL complète de la page d’accueil de votre site externe :
- pour modifier le lien vers une URL statique :
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => "https://example.com")
</script>
- pour renvoyer une URL dynamique basée sur l’utilisateur actuel :
<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>
- pour renvoyer une URL basée sur un paramètre de composant de thème :
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => {
return settings.example_logo_url_setting;
})
</script>
Cliquez sur le bouton « Enregistrer » pour sauvegarder vos modifications. Revenez à la page principale du composant de thème après cela, puis cliquez sur le lien « Ajouter à tous les thèmes » pour ajouter le nouveau composant à tous les thèmes de votre site :








