{%- liquid assign current_variant = product.selected_or_first_available_variant assign enable_video_looping = section.settings.enable_video_looping assign image_size = section.settings.image_size assign image_layout = section.settings.image_layout assign mobile_image_style = section.settings.mobile_image_style assign featured_media = current_variant.featured_media | default: product.featured_media assign featured_media_aspect_ratio = featured_media.aspect_ratio | default: 1 assign is_title_linked = true if template.name == 'product' assign is_title_linked = false endif assign show_thumbnails = false assign enable_thumbs = false assign enable_thumbs_mobile = false if image_layout == 'thumbnails' or image_layout == 'thumbnails-left' assign enable_thumbs = true assign show_thumbnails = true endif if mobile_image_style == 'thumbs' assign show_thumbnails = true assign enable_thumbs_mobile = true endif assign modifier = image_layout | default: 'thumbnails' assign product_wrapper_modifier = 'product__wrapper--' | append: modifier assign show_buy_buttons = false assign buy_buttons = section.blocks | where: 'type', 'buttons' if buy_buttons.size > 0 assign show_buy_buttons = true endif assign image_width = 770 if image_size == 'small' assign product_wrapper_modifier = product_wrapper_modifier | append: ' product__wrapper--small' assign image_width = 525 endif if image_size == 'stretch' assign product_wrapper_modifier = product_wrapper_modifier | append: ' product__wrapper--stretch' assign image_width = 970 endif assign product_form_id = 'ProductForm--' | append: section.id | append: '-' | append: product.id assign show_cart_bar = false assign unique = section.id assign sibling_color = product.metafields.theme.sibling_color.value | default: product.metafields.theme.sibling_colour.value | default: product.metafields.theme.siblings_color.value | default: product.metafields.theme.siblings_colour.value | default: product.metafields.theme.siblings_colors.value | default: product.metafields.theme.siblings_colours.value if section.settings.show_cart_bar assign show_cart_bar = true endif capture product_images_classlist echo 'product__images' if enable_thumbs echo ' product__images--thumbs' else echo ' product__images--no-thumbs' endif if enable_thumbs_mobile echo ' product__images--mobile-thumbs' else echo ' product__images--mobile-slider' endif endcapture assign preorder = false if product.metafields.theme.preorder.type == 'boolean' and product.metafields.theme.preorder.value == true assign preorder = true endif assign sold_out = false unless product.available assign sold_out = true endunless assign product_tags = product.tags | join: ',' if product_tags contains '_preorder' assign preorder = true endif assign product_price = product.metafields.app--168074346497.min_auto_discounted_price.value | default: product.price assign product_compare_at_price = product.compare_at_price assign product_compare_at_price_max = product.compare_at_price_max if product.metafields.app--168074346497.discount_percentage.value > 0.01 assign deducted_percentage = 1.0 | minus: product.metafields.app--168074346497.discount_percentage.value assign product_price = product.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil assign product_compare_at_price = product.price assign product_compare_at_price_max = product.price_max if product.compare_at_price > product_compare_at_price assign product_compare_at_price = product.compare_at_price endif if product.compare_at_price_max > product_compare_at_price_max assign product_compare_at_price_max = product.compare_at_price_max endif endif assign on_sale = false if product_compare_at_price > product_price assign on_sale = true endif assign badge = '' if badge == '' and product_tags contains '_badge_' assign badge = product_tags | split: '_badge_' assign badge = badge[1] | split: ',' | first | replace: '_', ' ' endif -%} {%- style -%} {%- if show_cart_bar -%} :root { --cart-bar-height: 80px; } {%- endif -%} #Product--{{ section.id }} { --PT: {{ section.settings.padding_top }}px; --PB: {{ section.settings.padding_bottom }}px; --swatch-size: var(--swatch-size-product); } {%- endstyle -%}
{%- if product.media.size > 0 -%} {%- capture product_slides_attributes -%} class="product__slides product-single__photos" style="--featured-media-aspect-ratio: {{ featured_media_aspect_ratio | round: 2 }};" data-product-media-list {%- endcapture -%} {%- if section.settings.enable_zoom -%} {%- else -%}
{%- endif -%} {%- for media in product.media -%} {%- render 'media', media: media, featured_media: featured_media, enable_video_looping: enable_video_looping, sectionkey: unique, image_width: image_width, cover: true -%} {%- endfor -%} {%- if section.settings.enable_zoom -%} {%- else -%}
{%- endif -%} {%- assign first_3d_model = product.media | where: "media_type", "model" | first -%} {%- if first_3d_model -%} {%- endif -%} {%- if show_thumbnails -%} {%- endif -%} {%- comment -%} Thumbnails template for Photoswipe {%- endcomment -%} {%- if section.settings.enable_zoom -%} {%- endif -%} {%- else -%}
{%- endif -%}
{% comment %} The input with name="id" submits to cart {% endcomment %} {% comment %} Add a line item property called 'Preorder' to preorder products {% endcomment %} {%- if preorder -%} {%- endif -%} {%- if sibling_color != blank -%} {%- endif -%} {%- for block in section.blocks -%} {%- liquid assign padding_bottom = block.settings.padding_bottom assign bg_accent = block.settings.bg_color assign icon_size = block.settings.icon_size capture block_style if padding_bottom echo '--block-padding-bottom: ' | append: block.settings.padding_bottom | append: 'px;' endif if bg_accent if block.type == 'upsell' or block.type == 'complementary-products' unless bg_accent == 'rgba(0,0,0,0)' or bg_accent == blank echo '--bg-accent: ' | append: bg_accent | append: ';' endunless endif endif if icon_size echo '--icon-size:' | append: icon_size | append: 'px;' endif if block.type == 'countdown' assign bg_color = block.settings.bg_color assign text_color = block.settings.color unless bg_color == 'rgba(0,0,0,0)' or bg_color == blank echo '--bg: ' | append: bg_color | append: ';' echo '--countdown-padding: ' | append: 'var(--inner);' endunless unless text_color == 'rgba(0,0,0,0)' or text_color == blank echo '--text: ' | append: text_color | append: ';' endunless endif endcapture if block_style != blank assign block_style = 'style="' | append: block_style | append: '"' endif -%} {%- case block.type -%} {%- when '@app' -%} {%- render block -%} {%- when 'title' -%} {%- render 'product-title' product: product, block: block, block_style: block_style, is_title_linked: is_title_linked -%} {%- when 'price' -%} {%- render 'product-price' product: product, unique: unique, block: block, block_style: block_style -%} {%- when 'variants' -%} {%- render 'product-variant-options' product: product, unique: unique, block: block, block_style: block_style, product_form_id: product_form_id, enable_size_chart: true -%} {%- when 'buttons' -%} {%- render 'product-buttons' product: product, current_variant: current_variant, unique: unique, block: block, block_style: block_style, product_form_id: product_form_id, preorder: preorder -%} {%- when 'description' -%} {%- render 'product-description' product: product, block: block, block_style: block_style -%} {%- when 'tab_richtext' -%} {%- render 'product-description' product: product, block: block, block_style: block_style -%} {%- when 'accordion' -%} {%- render 'product-description' product: product, block: block, block_style: block_style -%} {%- when 'inventory_countdown' -%} {% comment %} Product inventory {% endcomment %} {%- liquid assign show_remaining_class = '' assign show_notice = block.settings.show_notice assign max_inventory = block.settings.max_inventory assign hide_inventory_count = block.settings.hide_inventory_counter assign current_inventory = 0 assign has_unavailable_variants = false assign show_buy_buttons = false assign in_stock_color = block.settings.in_stock_color assign low_stock_color = block.settings.low_stock_color assign out_of_stock_color = block.settings.out_of_stock_color assign buy_buttons = section.blocks | where: 'type', 'buttons' if buy_buttons.size > 0 assign show_buy_buttons = true endif comment Set a limit of the max inventory quantity to prevent a real quantity exposure endcomment assign max_inventory_quantity = max_inventory | plus: 1 if current_variant.inventory_management and current_variant.inventory_policy == 'deny' if current_variant.inventory_quantity > 0 and current_variant.inventory_quantity <= max_inventory assign show_remaining_class = 'count-is-low' assign current_inventory = current_variant.inventory_quantity | at_most: max_inventory_quantity elsif current_variant.inventory_quantity > 0 and current_variant.inventory_quantity > max_inventory and show_notice == 'always' assign show_remaining_class = 'count-is-in' elsif current_variant.inventory_quantity < 1 and show_notice == 'always' assign show_remaining_class = 'count-is-out' endif endif assign quantity_tracking = false assign show_inventory = false assign has_low_inventory = false assign has_soldout = false assign variants_inventory = product.variants | map: 'inventory_quantity' for inventory_quantity in variants_inventory if inventory_quantity > 0 and inventory_quantity < max_inventory assign has_low_inventory = true endif if inventory_quantity < 1 assign has_soldout = true endif endfor if has_low_inventory or has_soldout and show_notice == 'always' assign show_inventory = true endif assign variant_count = 1 for option in product.options_with_values assign variant_count = variant_count | times: option.values.size endfor if variant_count > product.variants.size assign has_unavailable_variants = true endif if show_buy_buttons == false and has_unavailable_variants assign show_inventory = true endif assign inventory_management = product.variants | where: 'inventory_management', 'shopify' if inventory_management.size > 0 assign quantity_tracking = true endif capture in_stock_icon_color if in_stock_color != blank and in_stock_color != 'rgba(0,0,0,0)' echo ' style="--icon-color: ' | append: in_stock_color | append: '"' endif endcapture capture low_stock_icon_color if low_stock_color != blank and low_stock_color != 'rgba(0,0,0,0)' echo ' style="--icon-color: ' | append: low_stock_color | append: '"' endif endcapture capture out_of_stock_icon_color if out_of_stock_color != blank and out_of_stock_color != 'rgba(0,0,0,0)' echo ' style="--icon-color: ' | append: out_of_stock_color | append: '"' endif endcapture -%} {%- if quantity_tracking and show_inventory or quantity_tracking and show_notice == 'always' -%} {%- capture inventory -%} {{ current_inventory | default: 0 }} {%- endcapture -%}
{% render 'icon-in-stock' %} {{ 'products.product.in_stock' | t }} {%- if hide_inventory_count -%} {% render 'icon-low-inventory' %} {{ 'products.product.remaining_no_count' | t }} {%- else -%} {% render 'icon-low-inventory' %} {{ 'products.product.remaining_html' | t: inventory: inventory }} {%- endif -%} {% render 'icon-out-of-stock' %} {{ 'products.product.out_of_stock' | t }} {% render 'icon-out-of-stock' %} {{ 'products.product.item_unavailable' | t }}
{%- elsif request.design_mode -%}
{%- endif -%} {%- when 'upsell' -%} {%- assign upsell_product = product.metafields.theme.upsell.value | default: block.settings.upsell_product -%} {%- assign upsell_product_list = product.metafields.theme.upsell_list.value | default: block.settings.upsell_product_list -%} {%- if upsell_product != blank or upsell_product_list != blank or request.design_mode -%}
{%- assign upsell_title = 'products.general.upsell_title' | t -%} {%- capture upsell_products -%} {%- if upsell_product == blank and upsell_product_list == blank -%} {%- render 'upsell-product' -%} {%- else -%} {%- if upsell_product != blank -%} {%- render 'upsell-product', upsell_product: upsell_product, show_avaialable_upsell_only: block.settings.show_avaialable_upsell_only -%} {%- endif -%} {%- if upsell_product_list != blank -%} {%- for upsell_product in upsell_product_list -%} {%- render 'upsell-product', upsell_product: upsell_product, show_avaialable_upsell_only: block.settings.show_avaialable_upsell_only -%} {%- endfor -%} {%- endif -%} {%- endif -%} {%- endcapture -%} {%- if upsell_products != blank -%}

{{ upsell_title }}

{{ upsell_products }} {%- endif -%}
{%- endif -%} {%- when 'pickup' -%} {%- when 'code' -%}
{{ block.settings.code }}
{%- when 'siblings' -%} {%- render 'product-siblings' product: product, product_form_id: product_form_id, block: block, block_style: block_style, quick_add_product: false -%} {%- when 'text' -%} {% comment %} Text block for product {% endcomment %} {%- if block.settings.title != blank or block.settings.text != blank -%}
{%- if block.settings.title != blank -%}

{{- block.settings.title -}}

{%- endif -%} {%- if block.settings.text != blank -%}
{{- block.settings.text -}}
{%- endif -%}
{%- endif -%} {%- when 'icon' -%} {%- render 'icon' block: block, index: forloop.index0, is_product: true -%} {%- when 'sharing' -%}
{%- assign share_url = current_variant.url | prepend: request.origin -%} {%- render 'share-button' share_url: share_url -%}
{%- when 'divider' -%} {%- render 'divider' block: block, modifier: 'product__block product__block--divider' -%} {%- when 'line-item' -%}
{%- if block.settings.label != blank -%} {%- assign input_id = unique | append: '-' | append: block.id | append: '-' | append: forloop.index -%} {%- assign required = block.settings.required -%} {%- case block.settings.type -%} {%- when 'text' -%} {%- when 'checkbox' -%} {%- if block.settings.unchecked_value != blank and block.settings.checked_value != blank -%}
{%- endif -%} {%- when 'dropdown' -%} {%- capture line_item_options -%}
    {%- assign has_selected = false -%} {%- assign selected_value = '' -%} {%- for i in (1..3) -%} {%- assign value = 'option_' | append: forloop.index -%} {%- assign value = block.settings[value] -%} {%- if value != blank -%}
  • {{ value | escape_once }}
  • {%- unless has_selected -%} {%- assign selected_value = value -%} {%- endunless -%} {%- assign has_selected = true -%} {%- endif -%} {%- endfor -%}
{%- endcapture -%} {%- if has_selected -%} {{ block.settings.label | escape_once }} {{ line_item_options }} {%- endif -%} {%- endcase -%} {%- endif -%}
{%- when 'features' -%} {% comment %} Features block for Product {% endcomment %} {%- liquid assign block_id = block.id assign text = block.settings.text assign title = block.settings.title assign prev_index = forloop.index0 | minus: 1 assign next_index = forloop.index0 | plus: 1 assign prev_block = section.blocks[prev_index] assign next_block = section.blocks[next_index] assign image = block.settings.icon_alt assign bg_color = block.settings.bg_color assign text_color = block.settings.color comment Always force dots style to be "line" except if "Circle" is chosen from the global settings endcomment assign dots_style = 'line' if settings.dots_style == 'circle' assign dots_style = 'circle' endif capture style if bg_color != 'rgba(0,0,0,0)' and bg_color != blank echo '--bg: ' | append: bg_color | append: ';' endif if text_color != 'rgba(0,0,0,0)' and text_color != blank echo '--text: ' | append: text_color | append: ';' endif endcapture -%} {%- if forloop.index0 == 0 or prev_block.type != 'features' -%} {%- assign slide_index = 0 -%}
{%- endif -%}
{%- assign icon_size = block.settings.icon_size -%}
{%- liquid if image assign icon_width = icon_size assign icon_width_retina = icon_width | times: 2 assign icon_sizes = icon_width | append: 'px' assign icon_widths = icon_width | append: ', ' | append: icon_width_retina render 'image' image: image, width: icon_width_retina, sizes: icon_sizes, widths: icon_widths, show_backfill: false else render 'animated-icon', filename: block.settings.icon_name endif -%}
{%- if title != blank -%} {%- assign font_size_class = block.settings.text_size | prepend: 'body-size-' -%}

{{ title }}

{%- endif -%}
{%- if text != blank -%}
{{ text }}
{%- endif -%}
{%- if forloop.index == section.blocks.size or next_block.type != 'features' -%}
{%- endif -%} {%- assign slide_index = slide_index | plus: 1 -%} {%- when 'popup' -%} {%- liquid assign link_text = block.settings.title assign popup_content = block.settings.page.content | default: block.settings.text assign image = block.settings.image assign icon_size = block.settings.icon_size assign icon_color = block.settings.icon_color capture block_style echo 'style="' echo '--block-padding-bottom: ' | append: block.settings.padding_bottom | append: 'px;' echo '"' endcapture capture icon_style echo 'style="' echo '--icon-size: ' | append: icon_size | append: 'px;' if icon_color != blank and icon_color != 'rgba(0,0,0,0)' echo '--text: ' | append: icon_color | append: ';' endif echo '"' endcapture -%}
{%- liquid if image assign icon_width = icon_size assign icon_width_retina = icon_width | times: 2 assign icon_sizes = icon_width | append: 'px' assign icon_widths = icon_width | append: ', ' | append: icon_width_retina render 'image' image: image, width: icon_width_retina, sizes: icon_sizes, widths: icon_widths, show_backfill: false else render 'animated-icon', filename: block.settings.icon_name endif -%}
{{ link_text | escape }}
{%- when 'complementary-products' -%}
{%- if recommendations.performed and recommendations.products_count > 0 -%} {%- assign complementary_products_title = 'products.general.complementary_products_title' | t -%} {%- if complementary_products_title != blank -%}

{{ complementary_products_title }}

{%- endif -%} {%- for product in recommendations.products limit: block.settings.complementary_limit-%} {%- render 'upsell-product', upsell_product: product -%} {%- endfor -%} {%- endif -%}
{%- when 'badges' -%}
{%- if badge != '' and block.settings.product_badges -%} {{ badge }} {%- endif -%} {%- if preorder and sold_out == false and block.settings.product_badges-%} {{ 'products.product.pre_order' | t }} {%- endif -%} {%- if on_sale and sold_out == false and block.settings.sale_badge -%} {{ 'products.product.on_sale' | t }} {%- endif -%}
{%- when 'countdown' -%} {%- assign layout = block.settings.text_align -%} {%- assign font_size_class = block.settings.heading_size | prepend: 'heading-size-' -%}
{%- if block.settings.text != blank -%} {{ block.settings.text }} {%- endif -%}
{%- render 'countdown-timer', text_size_desktop: block.settings.text_size, text_size_mobile: block.settings.text_size, end_date: block.settings.end_date, end_time: block.settings.end_time, period: block.settings.period, end_message: block.settings.end_message, hide_on_complete: block.settings.hide_on_complete, -%}
{%- when 'sku' -%}
{{ 'products.product.sku' | t }}: {{ current_variant.sku }}
{%- when 'fit-guide' -%}
{%- if block.settings.heading != blank -%}

{{ block.settings.heading }}

{%- endif -%}
{%- assign selected_segment = block.settings.selected_segment | plus: 0 -%} {%- for idx in (1..5) -%} {{ forloop.index }} {%- endfor -%}
{%- if block.settings.left_label != blank or block.settings.middle_label != blank or block.settings.right_label != blank -%}
{%- if block.settings.left_label != blank -%} {{ block.settings.left_label }} {%- endif -%} {%- if block.settings.middle_label != blank -%} {{ block.settings.middle_label }} {%- endif -%} {%- if block.settings.right_label != blank -%} {{ block.settings.right_label }} {%- endif -%}
{%- endif -%}
{%- endcase -%} {%- endfor -%}
{% unless product == empty %} {%- liquid assign metafields_data = '[' for variant in product.variants assign metafield_value = variant.metafields.theme.final_sale.value | replace: '"', "''" assign metafields_data = metafields_data | append: '{"variant_id":"' | append: variant.id | append: '" , "metafield_value":"' | append: metafield_value | append: '"},' endfor assign metafields_data = metafields_data | append: ']' assign metafields_data = metafields_data | replace: ",]", "]" -%} {{ metafields_data }} {% endunless %} {% comment %} Google wants to know when to check your price again {% endcomment %} {%- liquid assign days_price_is_valid = 1 assign seconds_in_a_day = 86400 assign seconds_price_valid = days_price_is_valid | times: seconds_in_a_day if product.selected_or_first_available_variant.featured_media assign seo_media = product.selected_or_first_available_variant.featured_media else assign seo_media = product.featured_media endif -%} {%- if show_cart_bar -%} {%- liquid assign current_variant = product.selected_or_first_available_variant assign selling_plan_hide = true assign button_add = false assign blocks_form = section.blocks | where: 'type', 'form' assign current_variant_price_raw = current_variant.metafields.app--168074346497.auto_discounted_price.value | default: current_variant.price assign current_variant_compare_at_price_raw = current_variant.compare_at_price if current_variant.metafields.app--168074346497.discount_type.value != nil and current_variant.metafields.app--168074346497.discount_type.value != "fixed" and product.metafields.app--168074346497.discount_percentage.value > 0.01 assign deducted_percentage = 1.0 | minus: product.metafields.app--168074346497.discount_percentage.value if current_variant.metafields.app--168074346497.discount_percentage.value > 0.01 assign deducted_percentage = 1.0 | minus: current_variant.metafields.app--168074346497.discount_percentage.value endif assign current_variant_price_raw = current_variant.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil assign current_variant_compare_at_price_raw = current_variant.price if current_variant.compare_at_price > current_variant_compare_at_price_raw assign current_variant_compare_at_price_raw = current_variant.compare_at_price endif endif if settings.currency_code_enable assign current_variant_price = current_variant_price_raw | money_with_currency assign current_variant_compare_at_price = current_variant_compare_at_price_raw | money_with_currency else assign current_variant_price = current_variant_price_raw | money assign current_variant_compare_at_price = current_variant_compare_at_price_raw | money endif assign any_variant_available = false for variant in product.variants if variant.available assign any_variant_available = true break endif endfor -%} {% if product.selling_plan_groups.size > 0 and blocks_form.size > 0 and blocks_form[0].settings.subscriptions_enable_selectors %} {%- assign selling_plan_hide = false -%} {% endif %} {%- if product.has_only_default_variant and selling_plan_hide -%} {%- assign button_add = true -%} {%- endif -%}

{{ product.title | strip_html }}

current_variant_price %} class="product__price--sale"{% endif %}> {%- if current_variant_price == 0 -%} {{ 'general.money.free' | t }} {%- else -%} {{ current_variant_price }} {%- endif -%} {% if product_compare_at_price_max > product_price %} {{ 'products.product.regular_price' | t }} {% if current_variant_compare_at_price > current_variant_price %} {{ current_variant_compare_at_price }} {% endif %} {% endif %}
{%- if settings.show_newsletter -%} {%- assign newsletter_text = 'general.newsletter_form.newsletter_product_availability' | t -%} {%- assign button_text = 'products.product.sold_out' | t | append: ' - ' | append: newsletter_text -%} {%- endif -%}
{%- endif -%}
{% schema %} { "name": "Product pages", "class": "section-overlay-header", "settings": [ { "type": "header", "content": "Layout" }, { "type": "checkbox", "id": "product_sticky_enable", "label": "Enable sticky form", "default": true }, { "type": "checkbox", "id": "variant_image_scroll", "label": "Enable product image variant scroll", "info": "Clicking a variant scrolls user to assigned image", "default": true }, { "type": "select", "id": "image_layout", "label": "Style", "default": "stacked", "options": [ { "value": "thumbnails", "label": "Thumbnails - Bottom" }, { "value": "thumbnails-left", "label": "Thumbnails - Left" }, { "value": "stacked", "label": "Stacked" }, { "value": "grid-1", "label": "Mosaic" }, { "value": "grid-2", "label": "Grid" } ], "info": "Desktop only" }, { "type": "select", "id": "image_size", "label": "Image size", "options": [ { "value": "small", "label": "Small" }, { "value": "normal", "label": "Normal" }, { "value": "stretch", "label": "Stretch - No thumbnails" } ], "default": "normal" }, { "type": "header", "content": "Cart bar" }, { "type": "checkbox", "id": "show_cart_bar", "label": "Enable cart bar", "default": true }, { "type": "header", "content": "Media", "info": "Learn more about [media types](https://help.shopify.com/manual/products/product-media)" }, { "type": "checkbox", "id": "enable_zoom", "label": "Enable zoom", "default": true }, { "type": "checkbox", "id": "enable_video_looping", "label": "Enable video looping", "default": false }, { "type": "header", "content": "Mobile" }, { "type": "select", "id": "mobile_image_style", "label": "Style", "options": [ { "value": "thumbs", "label": "Thumbnails" }, { "value": "slider", "label": "Slider" } ], "default": "thumbs" }, { "type": "header", "content": "Section padding" }, { "type": "range", "id": "padding_top", "min": 0, "max": 100, "step": 1, "unit": "px", "label": "Padding top", "default": 90 }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 100, "step": 1, "unit": "px", "label": "Padding bottom", "default": 30 } ], "blocks": [ { "type": "@app" }, { "type": "title", "name": "Title", "limit": 1, "settings": [ { "type": "select", "id": "subheading_option", "label": "Navigation", "default": "none", "options": [ { "value": "none", "label": "None" }, { "value": "breadcrumb", "label": "Breadcrumb" }, { "value": "collection", "label": "Collection" }, { "value": "vendor", "label": "Vendor" } ] }, { "type": "range", "id": "text_size", "label": "Text size", "min": 1, "max": 15, "step": 1, "default": 6 }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 8 } ] }, { "type": "price", "name": "Price", "limit": 1, "settings": [ { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "variants", "name": "Variant picker", "limit": 1, "settings": [ { "type": "header", "content": "Size chart" }, { "type": "page", "id": "info_page", "label": "Page", "info": "[Learn more](https://broadcast.invisiblethemes.com/products/product-pages/size-charts)" }, { "type": "select", "id": "size_chart_style", "label": "Style", "default": "text", "options": [ { "value": "text", "label": "Text" }, { "value": "ruler", "label": "Ruler" }, { "value": "question", "label": "Question mark" } ] }, { "type": "header", "content": "Subscriptions", "info": "Learn more about [subscriptions](https://help.shopify.com/en/manual/products/subscriptions)" }, { "type": "checkbox", "id": "subscriptions_enable_selectors", "label": "Enable subscription selectors", "info": "Shown on products with subscription options", "default": false }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "buttons", "name": "Buy buttons", "limit": 1, "settings": [ { "type": "checkbox", "id": "show_quantity", "label": "Show quantity selector", "default": true }, { "type": "checkbox", "id": "show_payment_button", "label": "Show dynamic checkout buttons", "info": "Each customer will see their preferred payment method from those available on your store, such as PayPal or Apple Pay. [Learn more](https://help.shopify.com/en/manual/online-store/os/dynamic-checkout)", "default": true }, { "type": "checkbox", "id": "show_gift_card_recipient", "label": "Show recipient information form for gift card products", "default": false, "info": "Gift card products can optionally be sent direct to a recipient along with a personal message." }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 32 } ] }, { "type": "siblings", "name": "Siblings", "limit": 1, "settings": [ { "type": "paragraph", "content": "Siblings allow you to split colors into separate products. [Learn more](https://broadcast.invisiblethemes.com/siblings/product-siblings/about-product-siblings)" }, { "type": "text", "id": "siblings_collection", "label": "Product siblings collection handle", "info": "Use a metafield containing a collection handle for color siblings. The collection should contain all color options as unique products." }, { "type": "text", "id": "sibling_color", "label": "Product color metafield", "info": "Use a single line text metafield called 'theme.sibling_color' for product color." }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "description", "name": "Description", "limit": 1, "settings": [ { "type": "checkbox", "id": "show_read_more", "label": "Show read more button", "default": true }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 0 } ] }, { "type": "tab_richtext", "name": "Tabs", "limit": 1, "settings": [ { "type": "checkbox", "id": "show_description", "label": "Show description", "default": true }, { "type": "checkbox", "id": "show_read_more", "label": "Show read more button", "default": false }, { "type": "text", "id": "title_1", "label": "Tab heading", "default": "Tab" }, { "type": "richtext", "id": "raw_content_1", "label": "Tab text", "default": "

This content type will accept rich text to help with adding styles and links to additional pages or content. Use this to add supplementary information to help your buyers.

" }, { "type": "text", "id": "title_2", "label": "Tab heading", "default": "Info" }, { "type": "richtext", "id": "raw_content_2", "label": "Tab text", "default": "

You can use product metafields to assign content to this tab that is unique to an individual product. Use tabs to highlight unique features, sizing information, or other sales information.

" }, { "type": "text", "id": "title_3", "label": "Tab heading" }, { "type": "richtext", "id": "raw_content_3", "label": "Tab text" }, { "type": "text", "id": "title_4", "label": "Tab heading" }, { "type": "richtext", "id": "raw_content_4", "label": "Tab text" }, { "type": "text", "id": "title_5", "label": "Tab heading" }, { "type": "richtext", "id": "raw_content_5", "label": "Tab text" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 0 } ] }, { "type": "accordion", "name": "Accordion", "settings": [ { "type": "checkbox", "id": "show_description", "label": "Show description", "default": false }, { "type": "checkbox", "id": "show_read_more", "label": "Show read more button", "default": true }, { "type": "checkbox", "id": "default_open", "label": "Open by default", "default": false }, { "type": "text", "id": "heading", "label": "Heading", "default": "Accordion" }, { "type": "richtext", "id": "text", "label": "Text", "default": "

This content type will accept rich text to help with adding styles and links to additional pages or content. Use this to add supplementary information to help your buyers.

" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 0 } ] }, { "type": "upsell", "name": "Upsell", "limit": 1, "settings": [ { "type": "product", "id": "upsell_product", "label": "Single product" }, { "type": "product_list", "id": "upsell_product_list", "label": "Product list", "limit": 3, "info": "Choose up to 3 upsell products" }, { "type": "checkbox", "id": "show_avaialable_upsell_only", "label": "Show only items in stock", "default": false }, { "type": "header", "content": "Cart" }, { "type": "paragraph", "content": "Use a dynamic source with the metafield 'theme.upsell' for single product or 'theme.upsell_list' for product list to allow product upsells to follow users into the cart. Use any other name to limit this feature to the product page. [Learn more](https://broadcast.invisiblethemes.com/products/upselling)" }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "bg_color", "label": "Background" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "inventory_countdown", "name": "Inventory countdown", "limit": 1, "settings": [ { "type": "select", "id": "show_notice", "label": "Show notice", "default": "low-inventory", "options": [ { "label": "Always", "value": "always" }, { "label": "Low inventory", "value": "low-inventory" } ] }, { "type": "range", "id": "max_inventory", "label": "Low inventory threshold", "min": 1, "max": 50, "step": 1, "default": 10 }, { "type": "checkbox", "id": "hide_inventory_counter", "label": "Hide inventory counter", "default": true }, { "type": "range", "id": "icon_size", "label": "Icon size", "unit": "px", "min": 20, "max": 80, "step": 5, "default": 20 }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "in_stock_color", "label": "In stock", "default": "#56AD6A" }, { "type": "color", "id": "low_stock_color", "label": "Low stock", "default": "#f79554" }, { "type": "color", "id": "out_of_stock_color", "label": "Out of stock", "default": "#721C24" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "sharing", "name": "Sharing", "limit": 1, "settings": [ { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "pickup", "name": "Local pickup", "limit": 1, "settings": [ { "type": "paragraph", "content": "Show customers where they can pick up the product. [Learn more](https://help.shopify.com/en/manual/shipping/setting-up-and-managing-your-shipping/local-methods/local-pickup#show-pickup-availability-to-your-customers)" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 32 } ] }, { "type": "text", "name": "Text", "settings": [ { "type": "text", "id": "title", "label": "Heading", "default": "Have questions?" }, { "type": "richtext", "id": "text", "label": "Text", "default": "

Get in touch with us at any time.

" }, { "type": "select", "id": "layout", "label": "Layout", "options": [ { "value": "left", "label": "Left" }, { "value": "inline", "label": "In-line" } ], "default": "left" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "code", "name": "Custom code", "settings": [ { "type": "liquid", "id": "code", "label": "Custom code", "info": "Add app snippets or other Liquid code to create advanced customizations." }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "icon", "name": "Icon", "settings": [ { "type": "select", "id": "icon_name", "label": "Icon", "default": "icon-award", "options": [ { "label": "Award", "value": "icon-award" }, { "label": "Box", "value": "icon-box" }, { "label": "Chat", "value": "icon-chat" }, { "label": "Cloud", "value": "icon-cloud" }, { "label": "Diameter", "value": "icon-diameter" }, { "label": "Discount", "value": "icon-discount" }, { "label": "Donation", "value": "icon-donation" }, { "label": "Droplet", "value": "icon-droplet" }, { "label": "Info", "value": "icon-info-empty" }, { "label": "Email", "value": "icon-email" }, { "label": "Fast shipment", "value": "icon-fast-shipment" }, { "label": "Flare", "value": "icon-flare" }, { "label": "Flower", "value": "icon-flower" }, { "label": "Gift", "value": "icon-gift" }, { "label": "Green shipment", "value": "icon-green-shipment" }, { "label": "Heart", "value": "icon-heart" }, { "label": "Leaf", "value": "icon-leaf" }, { "label": "Lightning", "value": "icon-lightning" }, { "label": "Location", "value": "icon-location" }, { "label": "Mail", "value": "icon-mail" }, { "label": "Notes", "value": "icon-notes" }, { "label": "Pants", "value": "icon-pants" }, { "label": "Peace", "value": "icon-peace" }, { "label": "Pin", "value": "icon-pin" }, { "label": "Planet", "value": "icon-planet" }, { "label": "Phone", "value": "icon-phone" }, { "label": "Recycle", "value": "icon-recycle" }, { "label": "Ruler", "value": "icon-ruler" }, { "label": "Shield", "value": "icon-shield" }, { "label": "Smile", "value": "icon-smile" }, { "label": "Star", "value": "icon-star" }, { "label": "Tree", "value": "icon-tree" }, { "label": "Trophy", "value": "icon-trophy" }, { "label": "Truck", "value": "icon-truck" }, { "label": "Vegan", "value": "icon-vegan" }, { "label": "Wash", "value": "icon-wash" }, { "label": "Washing machine", "value": "icon-washing-machine" } ] }, { "type": "image_picker", "id": "image", "label": "Alternative icon/image" }, { "type": "range", "id": "icon_size", "label": "Size", "unit": "px", "min": 20, "max": 80, "step": 5, "default": 20 }, { "type": "color", "id": "icon_color", "label": "Icon color", "default": "#545454" }, { "type": "text", "id": "title", "label": "Heading", "default": "Title" }, { "type": "range", "id": "text_size", "label": "Text size", "min": 1, "max": 15, "step": 1, "default": 3 }, { "type": "header", "content": "Layout" }, { "type": "select", "id": "width", "label": "Width", "default": "full", "options": [ { "label": "Full width", "value": "full" }, { "label": "Half", "value": "half" }, { "label": "One third", "value": "third" }, { "label": "One quarter", "value": "quarter" } ] }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "divider", "name": "Divider", "settings": [ { "type": "checkbox", "id": "show_line", "label": "Show line", "default": true }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 1, "unit": "px", "label": "Padding bottom", "default": 20 } ] }, { "type": "line-item", "name": "Line item property", "settings": [ { "type": "text", "id": "label", "label": "Label", "default": "Your label" }, { "type": "select", "id": "type", "label": "Type", "default": "text", "options": [ { "label": "Text", "value": "text" }, { "label": "Checkbox", "value": "checkbox" }, { "label": "Dropdown", "value": "dropdown" } ] }, { "type": "header", "content": "Text", "info": "For Type set to \"Text\"." }, { "type": "checkbox", "id": "required", "label": "Required", "default": true }, { "type": "header", "content": "Checkbox", "info": "For Type set to \"Checkbox\"." }, { "type": "text", "id": "checked_value", "label": "Checked value", "default": "Yes" }, { "type": "text", "id": "unchecked_value", "label": "Unchecked value", "default": "No" }, { "type": "header", "content": "Dropdown", "info": "For Type set to \"Dropdown\"." }, { "type": "text", "id": "option_1", "label": "Option 1", "default": "Option 1" }, { "type": "text", "id": "option_2", "label": "Option 2", "default": "Option 2" }, { "type": "text", "id": "option_3", "label": "Option 3", "default": "Option 3" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "features", "name": "Feature", "settings": [ { "type": "select", "id": "icon_name", "label": "Icon", "default": "icon-award", "options": [ { "label": "Award", "value": "icon-award" }, { "label": "Box", "value": "icon-box" }, { "label": "Chat", "value": "icon-chat" }, { "label": "Cloud", "value": "icon-cloud" }, { "label": "Diameter", "value": "icon-diameter" }, { "label": "Discount", "value": "icon-discount" }, { "label": "Donation", "value": "icon-donation" }, { "label": "Droplet", "value": "icon-droplet" }, { "label": "Info", "value": "icon-info-empty" }, { "label": "Email", "value": "icon-email" }, { "label": "Fast shipment", "value": "icon-fast-shipment" }, { "label": "Flare", "value": "icon-flare" }, { "label": "Flower", "value": "icon-flower" }, { "label": "Gift", "value": "icon-gift" }, { "label": "Green shipment", "value": "icon-green-shipment" }, { "label": "Heart", "value": "icon-heart" }, { "label": "Leaf", "value": "icon-leaf" }, { "label": "Lightning", "value": "icon-lightning" }, { "label": "Location", "value": "icon-location" }, { "label": "Mail", "value": "icon-mail" }, { "label": "Notes", "value": "icon-notes" }, { "label": "Pants", "value": "icon-pants" }, { "label": "Peace", "value": "icon-peace" }, { "label": "Pin", "value": "icon-pin" }, { "label": "Planet", "value": "icon-planet" }, { "label": "Phone", "value": "icon-phone" }, { "label": "Recycle", "value": "icon-recycle" }, { "label": "Ruler", "value": "icon-ruler" }, { "label": "Shield", "value": "icon-shield" }, { "label": "Smile", "value": "icon-smile" }, { "label": "Star", "value": "icon-star" }, { "label": "Tree", "value": "icon-tree" }, { "label": "Trophy", "value": "icon-trophy" }, { "label": "Truck", "value": "icon-truck" }, { "label": "Vegan", "value": "icon-vegan" }, { "label": "Wash", "value": "icon-wash" }, { "label": "Washing machine", "value": "icon-washing-machine" } ] }, { "type": "image_picker", "id": "icon_alt", "label": "Alternative icon/image" }, { "type": "range", "id": "icon_size", "label": "Size", "unit": "px", "min": 20, "max": 80, "step": 5, "default": 20 }, { "type": "text", "id": "title", "label": "Heading", "default": "Feature" }, { "type": "range", "id": "text_size", "label": "Text size", "min": 1, "max": 15, "step": 1, "default": 3 }, { "type": "richtext", "id": "text", "label": "Text", "default": "

This content type will accept rich text to help with adding styles and links to additional pages or content. Use this to add supplementary information to help your buyers.

" }, { "type": "header", "content": "Colors" }, { "id": "bg_color", "type": "color", "label": "Background", "default": "#F7F9FA" }, { "type": "color", "id": "color", "label": "Text", "default": "#212121" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding", "default": 16 } ] }, { "type": "complementary-products", "name": "Complementary products", "limit": 1, "settings": [ { "type": "paragraph", "content": "To select complementary products, add the Search & Discovery app. [Learn more](https://help.shopify.com/manual/online-store/search-and-discovery/product-recommendations)" }, { "type": "range", "id": "complementary_limit", "min": 1, "max": 3, "step": 1, "label": "Number of products", "default": 3 }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "bg_color", "label": "Background" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "popup", "name": "Popup", "settings": [ { "type": "text", "id": "title", "label": "Link text", "default": "Popup text" }, { "type": "richtext", "id": "text", "label": "Text", "default": "

Additonal information about the product.

" }, { "type": "page", "id": "page", "label": "Page" }, { "type": "select", "id": "icon_name", "label": "Icon", "default": "icon-award", "options": [ { "label": "Award", "value": "icon-award" }, { "label": "Box", "value": "icon-box" }, { "label": "Chat", "value": "icon-chat" }, { "label": "Cloud", "value": "icon-cloud" }, { "label": "Diameter", "value": "icon-diameter" }, { "label": "Discount", "value": "icon-discount" }, { "label": "Donation", "value": "icon-donation" }, { "label": "Droplet", "value": "icon-droplet" }, { "label": "Info", "value": "icon-info-empty" }, { "label": "Email", "value": "icon-email" }, { "label": "Fast shipment", "value": "icon-fast-shipment" }, { "label": "Flare", "value": "icon-flare" }, { "label": "Flower", "value": "icon-flower" }, { "label": "Gift", "value": "icon-gift" }, { "label": "Green shipment", "value": "icon-green-shipment" }, { "label": "Heart", "value": "icon-heart" }, { "label": "Leaf", "value": "icon-leaf" }, { "label": "Lightning", "value": "icon-lightning" }, { "label": "Location", "value": "icon-location" }, { "label": "Mail", "value": "icon-mail" }, { "label": "Notes", "value": "icon-notes" }, { "label": "Pants", "value": "icon-pants" }, { "label": "Peace", "value": "icon-peace" }, { "label": "Pin", "value": "icon-pin" }, { "label": "Planet", "value": "icon-planet" }, { "label": "Phone", "value": "icon-phone" }, { "label": "Recycle", "value": "icon-recycle" }, { "label": "Ruler", "value": "icon-ruler" }, { "label": "Shield", "value": "icon-shield" }, { "label": "Smile", "value": "icon-smile" }, { "label": "Star", "value": "icon-star" }, { "label": "Tree", "value": "icon-tree" }, { "label": "Trophy", "value": "icon-trophy" }, { "label": "Truck", "value": "icon-truck" }, { "label": "Vegan", "value": "icon-vegan" }, { "label": "Wash", "value": "icon-wash" }, { "label": "Washing machine", "value": "icon-washing-machine" } ] }, { "type": "image_picker", "id": "image", "label": "Alternative icon/image" }, { "type": "range", "id": "icon_size", "label": "Size", "unit": "px", "min": 20, "max": 80, "step": 5, "default": 20 }, { "type": "color", "id": "icon_color", "label": "Icon color", "default": "#545454" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "badges", "name": "Badges", "settings": [ { "type": "checkbox", "id": "sale_badge", "label": "Show sale badges", "default": true }, { "type": "checkbox", "id": "product_badges", "label": "Show product badges", "info": "Add tag '_preorder' or '_badge_with_custom_text' to a product in order to show the badge", "default": true }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 8 } ] }, { "type": "sku", "name": "SKU", "limit": 1, "settings": [ { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] }, { "type": "fit-guide", "name": "Fit guide", "settings": [ { "type": "text", "id": "heading", "label": "Heading", "default": "Fit" }, { "type": "text", "id": "selected_segment", "label": "Active segment", "default": "4", "info": "Enter a number from 1 - 5 to show active fit. Use a metafield for a custom fit per product." }, { "type": "text", "id": "left_label", "label": "Left label", "default": "Small" }, { "type": "text", "id": "middle_label", "label": "Middle label", "default": "True to size" }, { "type": "text", "id": "right_label", "label": "Right label", "default": "Large" }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 8 } ] }, { "type": "countdown", "name": "Countdown timer", "settings": [ { "type": "text", "id": "end_date", "label": "End date", "placeholder": "2023-12-31 23:59", "default": "2024-12-31", "info": "Use format \"YYYY-MM-DD\". Expiration date is based on the [store primary timezone](/admin/settings/general)." }, { "type": "text", "id": "end_time", "label": "End time", "default": "11:59", "placeholder": "11:59", "info": "Use 12-hour time convention in format \"HH:MM\"" }, { "type": "radio", "id": "period", "label": "AM/PM", "options": [ { "value": "am", "label": "AM" }, { "value": "pm", "label": "PM" } ], "default": "am" }, { "type": "richtext", "id": "end_message", "label": "End of timer message", "default": "

Offer has expired

" }, { "type": "checkbox", "id": "hide_on_complete", "label": "Hide block after end of timer", "default": true }, { "type": "range", "id": "text_size", "label": "Digits size", "min": 1, "max": 15, "step": 1, "default": 6 }, { "type": "richtext", "id": "text", "label": "Text", "default": "

Limited time offer

" }, { "type": "range", "id": "heading_size", "label": "Heading size", "min": 1, "max": 15, "step": 1, "default": 2 }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "bg_color", "label": "Background", "default": "#F7F9FA" }, { "type": "color", "id": "color", "label": "Text" }, { "type": "header", "content": "Layout" }, { "type": "select", "id": "text_align", "label": "Text alignment", "default": "text-center", "options": [ { "value": "text-left","label": "Left" }, { "value": "text-center","label": "Centered" } ] }, { "type": "header", "content": "Block spacing" }, { "type": "range", "id": "padding_bottom", "min": 0, "max": 50, "step": 2, "unit": "px", "label": "Padding bottom", "default": 16 } ] } ] } {% endschema %}