Sections reference
Product
Displays product media and a merchant-reorderable product form.
Merchant notes. Product form elements are blocks so merchants can reorder common purchase information in the theme editor. If a product option's name contains "model" or "iPhone" it is treated as the model axis: the shopper's remembered model (set on the collection page or the model selector section) is auto-selected here, and Add to Bag stays disabled with a "choose your model" notice until one is chosen. This model behavior only applies when Theme settings > Model shopping > "Enable iPhone model shopping" is on (off by default) - otherwise the option behaves like any other variant picker. See docs/model-shopping-flow.md.
Settings
| Setting | Type | Details |
|---|---|---|
show_model_barShow model bar |
checkbox | default: true |
show_sticky_buy_barShow sticky buy bar on scroll |
checkbox | default: true |
Blocks
App block
Reserved slot for Shopify app-provided blocks (e.g. reviews widgets, upsell apps).
Title title
Vendor vendor
Rating rating
Compatibility lines compat_lines
Delivery and trust chips delivery_trust
| Setting | Type | Details |
|---|---|---|
delivery_textDelivery estimate text |
text | default: Delivery calculated at checkout |
show_delivery_stepsShow order-to-delivery timeline |
checkbox | default: true |
days_to_shipDays to ship |
range | 0–10 step 1 · default: 1 |
days_to_deliverDays in transit after shipping |
range | 1–15 step 1 · default: 4 |
trust_chip_1Trust chip |
text | default: Major cards |
trust_chip_2Trust chip |
text | default: Digital wallets |
trust_chip_3Trust chip |
text | default: Secure payment |
Price price
Description description
Variant picker variant_picker
| Setting | Type | Details |
|---|---|---|
option1_styleOption 1 style |
select | Automatic, Pills, Dropdown, Image swatch, Color swatch · default: auto |
option2_styleOption 2 style |
select | Automatic, Pills, Dropdown, Image swatch, Color swatch · default: auto |
option3_styleOption 3 style |
select | Automatic, Pills, Dropdown, Image swatch, Color swatch · default: auto |
Quantity selector quantity_selector
Line item text line_item_text
| Setting | Type | Details |
|---|---|---|
labelLabel |
text | default: Personalisation text |
property_nameProperty name |
text | default: Personalisation |
placeholderPlaceholder |
text | default: Add a name or initials |
help_textHelp text |
text | default: Check spelling before adding to cart. |
requiredRequire this field |
checkbox | default: false |
max_lengthCharacter limit (0 = no limit) |
range | 0–50 step 1 · default: 0 Shows a live counter and caps input at this many characters. |
Placement pills placement_pills
| Setting | Type | Details |
|---|---|---|
labelLabel |
text | default: Placement |
property_nameProperty name |
text | default: Placement |
optionsOptions (comma separated) |
text | default: Bottom centre, Side vertical Each option becomes a selectable pill. |
requiredRequire this field |
checkbox | default: false |
Consent checkbox consent_checkbox
| Setting | Type | Details |
|---|---|---|
labelLabel |
text | default: I have checked the personalisation details |
property_nameProperty name |
text | default: Personalisation approved |
valueSubmitted value |
text | default: Yes |
requiredRequire this checkbox |
checkbox | default: true |
Photo upload photo_upload
| Setting | Type | Details |
|---|---|---|
headingHeading |
text | default: Your photo |
upload_labelUpload label |
text | default: Upload a photo now |
upload_hintUpload hint |
text | default: JPG or PNG, over 1200px wide for the sharpest print. |
property_namePhoto property name |
text | default: Photo |
skip_labelSkip label |
text | default: Skip for now - send it on WhatsApp |
skip_hintSkip hint |
text | default: We message you after checkout. Printing starts once your photo arrives… |
skip_valueSkip property value |
text | default: Sending on WhatsApp |
consent_labelConsent label |
text | default: I'm happy with this photo - printed pieces aren't returnable |
consent_property_nameConsent property name |
text | default: Photo print approved |
consent_requiredRequire consent |
checkbox | default: true |
timing_textTiming text |
text | default: Made to order - ships 4-6 days after we have your photo |
Information accordion info_accordion
| Setting | Type | Details |
|---|---|---|
headingHeading |
text | default: Fit and care |
textText |
richtext | default: <p>Add sizing, materials, delivery, or care details here.</p> |
custom_liquidCustom Liquid |
liquid | Renders below the rich text above, inside the same accordion row. Use for embeds (size-chart apps, etc.) - leave blank to use rich text only. |
Buy buttons buy_buttons
| Setting | Type | Details |
|---|---|---|
show_dynamic_checkoutShow dynamic checkout buttons |
checkbox | default: true |
Shop Pay Installments shop_pay_installments
Pickup availability pickup_availability
Custom Liquid custom_liquid
| Setting | Type | Details |
|---|---|---|
custom_liquidCustom Liquid |
liquid |
Discount & offers offers
| Setting | Type | Details |
|---|---|---|
color_schemeColor scheme |
color_scheme | default: scheme-1 |
headingHeading |
text | default: Discount & Offers |
offer_linesOffer lines (one per line) |
textarea | default: WELCOME | Get 5% OFF on your 1st order
Buy any 2 Phone Cases & Get 15%… Each line becomes a row with a percent icon. |
custom_liquidCustom Liquid |
liquid | Renders below the offer lines above, inside the same card. Use for embeds or fully custom markup - leave blank to use the offer lines only. |
Depends on
assets/product-form.jsassets/product-gallery.jsassets/model-context.jssnippets/breadcrumbs.liquidsnippets/model-bar.liquidassets/critical.css (.button component)