Section Schema
The{% schema %} tag defines a section’s configuration: settings, blocks, and presets.
Schema Properties
| Property | Type | Description |
|---|---|---|
name | string | Display name (supports t: translation keys) |
tag | string | HTML wrapper tag (default: div, null for none) |
class | string | CSS classes for wrapper |
limit | number | Max instances per page |
settings | array | Section-level settings |
blocks | array | Available block types |
max_blocks | number | Maximum blocks allowed |
presets | array | Default configurations |
default | object | Default values for templates |
locales | object | Inline translations |
enabled_on | object | Template restrictions |
disabled_on | object | Template exclusions |
Settings
Settings are inputs that merchants configure in the theme editor.Basic Structure
| Property | Required | Description |
|---|---|---|
type | Yes | Input type |
id | Yes | Unique identifier |
label | Yes | Display label |
default | No | Default value |
info | No | Help text |
placeholder | No | Input placeholder |
Access in Templates
Setting Types
Text Inputs
text
Single-line text input.textarea
Multi-line text input.richtext
WYSIWYG rich text editor.{{ section.settings.content }} directly.
inline_richtext
Single-line rich text (bold, italic, links only).html
Raw HTML input.Selection Inputs
select
Dropdown selection.radio
Radio button group.checkbox
Boolean toggle.Numeric Inputs
range
Slider with min/max values.| Property | Description |
|---|---|
min | Minimum value |
max | Maximum value |
step | Increment amount |
unit | Unit label (px, %, etc.) |
number
Numeric input field.Color Inputs
color
Color picker with hex output.color_background
Color picker with gradient support.color_scheme
Theme color scheme selector.Font Input
font_picker
Font family selector (Google Fonts).Media Inputs
image_picker
Image uploader.video
Video file selector.video_url
YouTube/Vimeo URL input.Resource Inputs
product
Product selector.product_list
Multiple products selector.collection
Collection selector.collection_list
Multiple collections selector.blog
Blog selector.article
Article selector.page
Page selector.link_list
Menu/navigation selector.Link Input
url
URL input with link picker.Informational
header
Visual separator/heading.paragraph
Help text (read-only).Blocks
Blocks are repeatable content units within a section.Block Properties
| Property | Description |
|---|---|
type | Unique block identifier |
name | Display name |
limit | Max instances of this block type |
settings | Block-level settings |
Rendering Blocks
App Blocks
Allow third-party apps to inject content:Presets
Presets define default configurations that appear in the theme editor’s “Add section” menu.Template Restrictions
enabled_on
Limit where section can be used:disabled_on
Exclude from specific templates:Translations
Using t: prefix
Reference translation keys:locales/en.default.schema.json: