linklists
The global linklists object resolves a store navigation menu by handle. Menus
do not have a separate publish status. The linked resources used by menu items
are loaded in batches for the current storefront request and remain subject to
each resource’s own storefront-visibility rules.
Example
{% assign menu = linklists['main-menu'] %}{% if menu %} <nav aria-label="Main menu"> {% for link in menu.links %} <a href="{{ link.url }}"{% if link.active %} aria-current="page"{% endif %}> {{ link.title }} </a> {% endfor %} </nav>{% endif %}Lookup behavior
- Handles are normalized to lowercase and can be at most 255 characters.
- One render can resolve at most 20 unique menu handles. Repeated access to the same handle reuses the request-scoped result.
- Missing, malformed, and over-limit lookups return
nil. - Menu URLs and active-state comparisons use the active locale-aware path.
See linklist and
link for the returned objects.
Properties
| Property | Description |
|---|
This object has no static properties; menu handles are dynamic keys.
Property list is generated from the storefront engine (LinklistsDrop), so it always matches what your theme can use. Use {{ linklists | json }} only as a curated debug snapshot; it can omit lazy or otherwise public properties.