How do I create a Shopify section schema with multiple setting types?▼
Section schemas define editor-configurable settings using Shopify's {% schema %} tag. Structure your schema with setting types—text, textarea, richtext, range, checkbox, select, radio, color, image_picker, font_picker, collection, product, blog, article, page, url, video_url, and html—each with name, id, label, default, and constraints to enable merchant customization without code.
What's the best way to organize blocks and presets in a Shopify section schema?▼
Blocks and presets provide structure for merchant customization. Use blocks to define repeatable content units, organize settings under logical groupings with info fields for guidance, and create presets with default values for common layouts like product grids or hero sections to accelerate setup and ensure reliable rendering in the theme editor.
Can I use image_picker and color settings together in a Shopify section schema?▼
Yes, Shopify schemas support combining multiple setting types in a single section. You can mix image_picker for visual assets, color and color_background for styling, text and textarea for content, and organizational elements like headers and presets in the same {% schema %} definition to create rich, flexible editor experiences.
How do I set defaults and validation constraints for Shopify section settings?▼
Each setting in your schema can include a default value, info text for accessibility guidance, placeholder text for clarity, and constraints specific to the type—like min/max for range inputs or accepted values for select fields. These ensure predictable editor behavior and help merchants understand valid configurations.
What setting types does Shopify support for merchant-editable sections?▼
Shopify section schemas support text, textarea, richtext for content; range and checkbox for numeric and binary choices; select and radio for options; color and color_background for styling; image_picker and font_picker for assets; collection, product, blog, article, and page for resource references; url and video_url for links; and html and liquid for advanced customization.
Do I need to define JSON structure inside the {% schema %} tag for theme sections?▼
Yes, the {% schema %} tag wraps a JSON object containing name, settings, blocks, and presets. This JSON structure enables the Shopify theme editor to render the customization interface and store merchant configurations reliably across section instances and theme updates.