Every node type registered by themes/default, with its role, key
settings, and what it renders. Setting types are abbreviated (text,
textarea, number, range, select, checkbox, color, url,
image_picker, link_list, text_alignment). S = stylesheet block,
J = JavaScript block, $$ = uses $$node_id$$.
Layout & hero
| Node | Role | Accepts / slots | Settings (ids) | Assets |
|---|---|---|---|---|
hero |
section (limit 1) | slots: col(@theme), cta(button, max 3) |
heading, tagline, subtext, heading_size, heading_weight, tagline_size, subtext_size, text_alignment, content_align, content_width, content_padding, background_image, background_color, background_fit, background_position, overlay_color, overlay_opacity, height, text_light, border_radius | S |
columns |
section | @theme, max 24 |
full_width, gap, align, justify | , |
rows |
section | @theme, max 24 |
gap, full_width, grow_children, align, justify | S |
slideshow |
section (limit 1) | accepts [] (built-in slide children in presets) |
slide_height, text_alignment, heading_size, show_arrows, show_dots, button_style | S J $$ |
rich_text |
section (limit 3) | button_block, text_block |
heading, subtitle, content, text_alignment, content_width, show_button, button_label, button_url, button_style, button_size | S |
text_block |
simple | , | tag, text, text_alignment, font_size, font_weight, text_transform, letter_spacing, text_color | S |
image |
simple | @theme (max 4), embedded over the image |
image, alt, link, width, height, object_fit, object_position, background, max_width, max_height, hover_effect, hover_image, overlay_enabled, overlay_color, overlay_opacity, overlay_on_hover, children_position, text_alignment, border_radius, loading, caption | S |
button |
simple | , | label, url, style | , |
button_block |
simple | , | label, url, style | , |
box |
section | @theme, max 24 |
layout, mobile_layout, gap, full_width, child_flex, align, justify | S |
Navigation
| Node | Role | Accepts | Settings | Assets |
|---|---|---|---|---|
navbar |
section (limit 1) | @theme, @app |
logo_width, sticky, container_width, menu_alignment, show_search, show_account, show_cart | S J $$ |
announcement_bar |
section (limit 1) | , | text, link_url, link_label, color_scheme, dismissable, hide_on_mobile | S J $$ |
navlink |
simple | , | label, url, highlight | , |
navmenu |
simple | navmenu_item |
label | S J $$ |
navmenu_item |
simple | , | icon, label, url | S |
Commerce listings
| Node | Role | Accepts | Settings | Assets |
|---|---|---|---|---|
catalog_products |
section | , | (none, reads extra.listing) |
, |
collection_products |
section | , | (none, reads extra.collection + extra.listing) |
, |
collections_list |
section | , | (none, reads extra.collections) |
, |
collection_filters |
section* | , | (no {% schema %}, not editor-managed) |
inline style/script |
collection_card |
simple | , | label, pre_label, description, image, url, handle, overlay_color, overlay_opacity | , |
featured_collections |
section (limit 3) | collection_card |
show_heading, heading, subtitle, text_alignment, columns, show_descriptions | S |
featured_products |
section (limit 1) | @theme, quick_add, product_badge, product_title, product_price, product_image |
show_heading, heading, subtitle, text_alignment, show_view_all, view_all_url, view_all_label, columns, mobile_columns, gap, full_width, max_products | S |
search_results |
section | , | (none, reads extra.query + extra.listing) |
, |
reviews |
section | , | show_heading, heading, limit | S |
product_recommendations |
section (limit 1) | , | heading, max_products | S |
Product detail (PDP)
| Node | Role | Accepts | Settings | Assets |
|---|---|---|---|---|
product_detail |
section (limit 1) | 14 types: @theme, product_gallery, product_badge, product_image, product_title, product_price, product_vendor, variant_picker, quantity_selector, buy_buttons, product_description, product_accordion, product_share, product_metafields |
layout, enable_sticky_info | S J |
product_gallery |
simple | , | aspect_ratio | S |
product_badge |
simple | , | text, tone | , |
product_title |
simple | , | (none, renders product.name) |
, |
product_price |
simple | , | sold_out_label, show_discount, discount_prefix, discount_suffix | , |
product_vendor |
simple | , | (none, renders product.vendor) |
, |
variant_picker |
simple | , | show_label, label, display_style, sold_out_label | , |
quantity_selector |
simple | , | show_label, label, min_qty, show_when_soldout | , |
buy_buttons |
simple | , | text, button_style, show_dynamic_checkout, dynamic_checkout_text, show_soldout_form, sold_out_text | , |
product_description |
simple | , | show_heading, heading | , |
product_accordion |
simple | , | title, open_by_default, content | , |
product_share |
simple | , | show_label, label, show_facebook, show_twitter, show_pinterest, show_copy_link | , |
product_metafields |
simple | , | namespace, key, show_label, label | , |
product_reviews |
section | , | show_heading, heading, limit | S |
Footer & marketing
| Node | Role | Accepts | Settings | Assets |
|---|---|---|---|---|
footer |
section | footer_column, newsletter_column |
footer_tagline, copyright_year, copyright_text, show_payment_icons | S |
footer_column |
simple | , | heading, menu (link_list) | , |
newsletter_column |
simple | , | (none, static form) | , |
newsletter |
section (limit 2) | social_link |
show_heading, heading, subtext, text_alignment, form_style, show_name, name_placeholder, email_placeholder, button_label, button_size, color_scheme, background_color, show_disclaimer, disclaimer_text, show_socials | S |
testimonials |
section (limit 3) | testimonial |
show_heading, heading, subtitle, text_alignment, columns, show_stars, default_stars | S |
testimonial |
simple | , | quote, name, title, stars, avatar | , |
social_link |
simple | , | platform, url | , |
contact_form |
section (limit 1) | , | layout, show_heading, heading, subtitle, show_name, show_phone_field, show_subject, message_rows, button_label, form_width, success_message, show_newsletter_checkbox, newsletter_label, info_heading, info_text, email, phone, address, info_background | S |
Coverage summary
- 22 of 47 nodes carry a
{% stylesheet %}block; 5 carry{% javascript %}(announcement_bar,navbar,navmenu,slideshow,product_detail); 4 of those scope via$$node_id$$. collection_filtersis the only node with no{% schema %}.slideshowpresets reference a built-inslidechild type with no node file, the section inlines slide markup itself.- Preset-referenced types used by
theme.json: hero, featured_products (with product_image/title/price children), featured_collections (with collection_card children), testimonials (with testimonial children), newsletter (with social_link children), product_detail (9 children), reviews, contact_form, catalog_products, collection_products, search_results, collections_list, announcement_bar, navbar (navlink/navmenu/ navmenu_item children), footer (footer_column/newsletter_column children).