Personnalisation du composant de thème de l'en-tête de marque

J’essaie de personnaliser le « composant de thème d’en-tête de marque » de Discourse. Je ne suis pas sûr de l’approche à adopter ici. Je veux ajouter des éléments de sous-menu, par exemple, ma structure de liens ressemblerait à ceci :

vidéo
audio - livres
          - conférences,
sujets - développement web
           - technologie
           - ingénierie
support

Mais l’ajout d’éléments de sous-menu n’est pas une option standard avec ce composant. Je sais qu’il existe un composant Discourse Header Submenus qui a une partie des fonctionnalités que je souhaite, mais uniquement en mode bureau.

Il n’y a pas de points de terminaison de plugin disponibles dans ce composant dont j’ai connaissance, je ne peux donc pas injecter de code et je ne pense pas pouvoir remplacer le modèle car il ne fait pas partie de la base de code principale de Discourse, donc je ne peux pas y accéder autant que je sache (bien qu’il soit créé et maintenu par Discourse).

Les liens seront récupérés à partir d’une API, mais j’essaie juste de les coder en dur à ce stade.

Plus généralement, est-il possible de personnaliser les composants de thème en dehors du référentiel principal de Discourse ? Quelle est l’approche appropriée à adopter ici ?

Merci de votre aide !

1 « J'aime »

Salut Harley,

Oui, vous pouvez personnaliser le composant thématique en le forquant et en apportant les modifications au code selon vos besoins. Vous devriez ensuite être en mesure d’installer ce composant sur votre instance via l’URL GitHub de votre fork.

Merci de votre réponse Meghna ! C’est super et j’ai commencé à travailler dessus. J’ai cependant rencontré un problème avec cette approche : j’ai essayé d’entrer de nouveaux paramètres dans mon composant de thème forké (via le panneau d’administration des composants de thème de mon instance Discourse) mais les paramètres du composant de thème d’origine continuaient de passer dans ma propre version forkée. Je pouvais voir qu’un nouveau composant était là mais il avait les mêmes paramètres que l’ancien. Pensez-vous que cela pourrait être parce qu’ils portent le même nom ? J’ai également essayé de supprimer le composant de thème d’origine de mon thème, mais cela a supprimé à la fois la version d’origine et la version forkée de l’aperçu de mon thème. Merci de votre aide !