Skip to main content

Section Schema

The {% schema %} tag defines a section’s configuration: settings, blocks, and presets.

Schema Properties


Settings

Settings are inputs that merchants configure in the theme editor.

Basic Structure

Access in Templates


Setting Types

Text Inputs

text

Single-line text input.

textarea

Multi-line text input.

richtext

WYSIWYG rich text editor.
Output includes HTML tags. Use {{ 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.

number

Numeric input field.

Color Inputs

color

Color picker with hex output.

color_background

Color picker with gradient support.
Output can be solid color or CSS gradient.

color_scheme

Theme color scheme selector.

Font Input

font_picker

Font family selector (Google Fonts).
Access font properties:

Media Inputs

image_picker

Image uploader.
Access:

video

Video file selector.

video_url

YouTube/Vimeo URL input.

Resource Inputs

product

Product selector.
Returns full product object.

product_list

Multiple products selector.

collection

Collection selector.

collection_list

Multiple collections selector.

blog

Blog selector.

article

Article selector.

page

Page selector.
Menu/navigation selector.

url

URL input with link picker.

Informational

Visual separator/heading.

paragraph

Help text (read-only).

Blocks

Blocks are repeatable content units within a section.

Block Properties

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:
Translations in locales/en.default.schema.json:

Inline Translations


Complete Example

Template usage: