Ajouter un nouvel élément au menu déroulant utilisateur

Comment puis-je ajouter un nouvel élément au menu déroulant de l’utilisateur ? Puis-je personnaliser et ajouter un nouvel élément là-bas ?

1 « J'aime »

Bienvenue sur Meta :waving_hand:

Vous pouvez utiliser l’API de plugin pour ajouter un nouveau lien à ce menu. Vous pouvez, par exemple, le faire directement dans l’interface d’administration en créant un nouveau composant de thème et en ajoutant quelque chose comme ceci dans l’onglet JS :

api.addQuickAccessProfileItem({
 icon: "pencil",
 href: "/somewhere",
 content: "Title"
})

2 « J'aime »

Est-ce que cela fonctionne dans le thème Horizon ? J’obtiens une erreur dans le navigateur

Screenshot 2025-11-26 at 21.42.22

1 « J'aime »

Oui, désolé, j’ai fait une erreur en copiant le code.

Par défaut, vous voyez ceci dans l’onglet JS.

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  // Votre code ici
});

Et ensuite, vous mettez ceci à l’endroit de l’espace réservé.

api.addQuickAccessProfileItem({
  icon: "pencil",
  href: "/somewhere",
  content: I18n.t("user.somewhere")
})

Donc, le résultat devrait ressembler à ceci :

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
 api.addQuickAccessProfileItem({
  icon: "pencil",
  href: "/somewhere",
  content: I18n.t("user.somewhere")
 })
});

Ci-dessus, j’avais accidentellement copié l’une des lignes par défaut.

1 « J'aime »