Passer au contenu principal
Un élément de menu de navigation est une entrée dans la barre latérale gauche. Utilisez defineNavigationMenuItem() pour ajouter des liens personnalisés dans la barre latérale — généralement un par vue — ou pour pointer vers des URL externes.
src/navigation-menu-items/example-navigation-menu-item.ts
import { defineNavigationMenuItem, NavigationMenuItemType } from 'twenty-sdk/define';
import { EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER } from '../views/example-view';

export default defineNavigationMenuItem({
  universalIdentifier: '9327db91-afa1-41b6-bd9d-2b51a26efb4c',
  name: 'example-navigation-menu-item',
  icon: 'IconList',
  color: 'blue',
  position: 0,
  type: NavigationMenuItemType.VIEW,
  viewUniversalIdentifier: EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER,
});

Points clés

  • type détermine la destination de l’élément de menu. Chaque type est associé à un champ d’identifiant spécifique :
    TypeCe que cela faitChamp obligatoire
    NavigationMenuItemType.VIEWOuvre une vue enregistréeviewUniversalIdentifier
    NavigationMenuItemType.LINKOuvre une URL externelink
    NavigationMenuItemType.FOLDERRegroupe les éléments imbriqués sous une étiquettename (et les éléments enfants font référence au dossier via folderUniversalIdentifier)
    NavigationMenuItemType.OBJECTOuvre la page d’index par défaut d’un objettargetObjectUniversalIdentifier
    NavigationMenuItemType.PAGE_LAYOUTOuvre une mise en page autonomepageLayoutUniversalIdentifier
  • position contrôle l’ordre dans la barre latérale.
  • icon et color sont facultatifs et personnalisent l’apparence de l’entrée.
  • folderUniversalIdentifier est également disponible sur n’importe quel élément pour l’imbriquer dans un parent de type FOLDER.
Piège courant : créer un objet sans vue associée + élément de menu de navigation rend cet objet invisible pour les utilisateurs. À moins qu’il ne s’agisse d’un objet technique/interne, chaque objet personnalisé doit avoir une vue par défaut et une entrée dans la barre latérale qui pointe vers celle-ci.