Je souhaite intégrer un forum Discourse comme une section de mon site web. Cependant, je veux afficher l’en-tête et la navigation de mon site (y compris le menu et le menu utilisateur) à la place de ceux de Discourse. Cela permet d’assurer une cohérence visuelle sur l’ensemble du site.
Existe-t-il déjà une solution pour cela ?
Sinon, quelle est l’approche recommandée ? Utiliser un thème avec du CSS pour masquer <header> et intégrer mes propres éléments dans header.html ? Cela me semble peu élégant.
Vous pouvez utiliser le composant #theme-component déjà disponible pour ajouter un en-tête supplémentaire et effectuer des modifications CSS afin d’ajuster les couleurs et le style.
Je vous recommande de ne pas supprimer ni masquer l’en-tête Discourse existant, car cela entraînerait de nombreux problèmes.
J’ai déjà mon propre menu utilisateur (avatar, etc.) pour mon site et j’utilise SSO pour Discourse, de sorte que les données utilisateur sont partagées. Ce serait une mauvaise expérience utilisateur (UX) d’avoir deux menus utilisateur sur une même page. Si je supprime simplement le mien pour la section du forum, l’expérience utilisateur serait également mauvaise car les menus seraient différents.
Est-il impossible pour moi de remplacer le menu hamburger et le menu utilisateur de Discourse par les miens, en y intégrant des liens vers Discourse (par exemple, catégories, boîte de réception) ?
Le menu hamburger de Discourse et le menu utilisateur contiennent tous deux des liens importants.
Si vous souhaitez simplement que vos utilisateurs ne puissent jamais accéder aux éléments suivants :
Paramètres du compte
Préférences de profil
Notifications
Messages
Et bien d’autres encore, vous pouvez masquer le menu Discourse via CSS.
Ce n’est pas impossible… vous pourriez masquer notre en-tête par défaut avec du CSS et en ajouter un autre dans un thème (notez que vous devrez dupliquer votre navigation, vous ne pouvez pas intégrer directement le code de votre site web)… mais vous perdriez soit beaucoup de fonctionnalités par défaut, soit vous devriez les recréer. Les notifications sont un exemple majeur.
Nous avons constaté qu’il est préférable, à long terme, d’ajouter du contenu (en utilisant l’API des thèmes) et de styliser l’en-tête de Discourse pour qu’il corresponde le plus possible à un site web existant, plutôt que de tenter de remplacer entièrement l’en-tête à partir de zéro.