Navigation
Menüs je Website mit Schlüssel, Verschachtelung, lokalisierten Beschriftungen und Rückfall auf die Standardsprache — und wie das Frontend sie abruft.
Stand: 23.09.2026
Auf dieser Seite
Die Navigation sind die Menüs einer Website: Hauptnavigation, Fußzeile, Meta-Menü oder was das Frontend sonst abfragt. Ein Menüpunkt zeigt auf eine Seite, einen Eintrag oder eine freie URL. Gepflegt wird sie unter Seiten → Navigation.
Mehrere Menüs je Website
Jedes Menü hat einen Schlüssel (Handle), unter dem das Frontend es abruft — typischerweise main und footer. Der Schlüssel existiert je Website genau einmal und muss zum Frontend passen. Weitere Menüs (etwa legal oder social) legen Sie frei an.
Menüpunkte
| Ziel | Verhalten |
|---|---|
| Seite | Verweis auf eine Seite dieser Website; die Sprache löst sich automatisch auf |
| Eintrag | Verweis auf einen Eintrag, das Frontend baut daraus die URL |
| Freie URL | beliebige Adresse, je Sprache eigene URL möglich, optional in neuem Tab |
Punkte lassen sich per Ziehen einrücken und so zu Untermenüs machen. Wie tief das Frontend das darstellt, ist dessen Sache — zwei Ebenen sind üblich.
Lokalisierung
Ein Menü gilt für alle Sprachen der Website: Aufbau und Reihenfolge sind gemeinsam, übersetzt werden nur die Beschriftungen. Der Sprachumschalter oben wechselt, welcher Text gezeigt und bearbeitet wird.
- Ein Punkt ohne Text in der aktiven Sprache ist gestrichelt umrandet und zeigt den Text der Standardsprache. „Übersetzung übernehmen" kopiert ihn als Ausgangspunkt.
- Seitenziele finden ihre Sprache selbst: Das Frontend bekommt den Pfad der jeweiligen Sprachfassung.
- Nur bei freien URLs lässt sich je Sprache eine eigene Adresse hinterlegen.
Abruf im Frontend
curl "https://entrydeck.app/api/v1/delivery/navigation/main?locale=de" \
-H "x-api-key: $ENTRYDECK_API_KEY"{
"handle": "main",
"locale": "de",
"items": [
{ "label": "Leistungen", "href": "/leistungen", "target": null, "children": [
{ "label": "Webdesign", "href": "/leistungen/webdesign", "target": null, "children": [] }
] },
{ "label": "Blog", "href": "/blog", "target": null, "children": [] },
{ "label": "Kontakt", "href": "/kontakt", "target": null, "children": [] }
]
}Die Antwort ist ein verschachtelter Baum. href enthält für Seiten den Pfad der angefragten Sprache, für Einträge den Pfad nach dem Muster der Website und für freie URLs die hinterlegte Adresse.
Beispiel in einem Nuxt-Frontend:
const { data: nav } = await useFetch('/delivery/navigation/main', {
baseURL: 'https://entrydeck.app/api/v1',
headers: { 'x-api-key': useRuntimeConfig().entrydeckApiKey },
query: { locale: 'de' },
})Seitenbaum als Alternative
Wer die Navigation direkt aus der Seitenstruktur ableiten will, nutzt GET /delivery/pages/tree?locale=de. Er liefert alle veröffentlichten Seiten als Baum mit Titel und Pfad — ohne redaktionelle Sortierung, dafür ohne Pflege.
Stolpersteine
- Gelöschte Seiten hinterlassen Lücken. Wird eine verlinkte Seite gelöscht, bleibt der Menüpunkt bestehen und zeigt ins Leere. Nach dem Aufräumen von Seiten lohnt ein Blick in die Navigation.
- Entwürfe sind unsichtbar. Ein Menüpunkt auf eine unveröffentlichte Seite wird zwar ausgeliefert, die Seite selbst antwortet mit 404.
- Externe Links kennzeichnen. „In neuem Tab öffnen" ist für interne Ziele unüblich und stört die Navigation.