Przejdź do głównej zawartości

MenuItem

Navigation menu item

type MenuItem {
id: ID!
image: Image
items: [MenuItem!]!
resource: MenuItemResource
resourceId: ID
title: String!
type: MenuItemType!
url: URL
}

Fields

MenuItem.id ● ID! non-null scalar

Item ID

MenuItem.image ● Image object

Custom banner image (with url(transform:) support)

MenuItem.items ● [MenuItem!]! non-null object

Child menu items (max 3 levels)

MenuItem.resource ● MenuItemResource union

Linked resource object resolved server-side via DataLoader (batched per resource type — no N+1). Null when type is HTTP/FRONTPAGE/SEARCH/CATALOG/BLOG, or when resourceId points to a deleted resource.

MenuItem.resourceId ● ID scalar

Linked resource ID

MenuItem.title ● String! non-null scalar

Display title

MenuItem.type ● MenuItemType! non-null enum

Link type

MenuItem.url ● URL scalar

Pre-resolved URL path computed server-side using a standard route convention: /categories/<handle>, /collections/<handle>, /pages/<handle>, /products/<handle>, /brands/<handle>. Static types resolve to /, /search, /products, /blog. HTTP returns the manually stored URL. Null when type is a resource link and the underlying resource was deleted. If your storefront uses non-standard routing (e.g. single-segment /<handle>), prefer reading the resource field instead and build URLs yourself from resource.__typename + handle.

Member Of

Menu object ● MenuItem object