1952 lines
69 KiB
Plaintext
1952 lines
69 KiB
Plaintext
|
|
|
|
{% assign show_form_popup = false %}
|
|
{%- assign enable_image_zoom = section.settings.enable_image_zoom -%}
|
|
|
|
|
|
|
|
{%- assign initial_media_index = 0 -%}
|
|
{%- assign current_variant = product.selected_or_first_available_variant -%}
|
|
{%- assign price = current_variant.price -%}
|
|
{%- assign available = current_variant.available -%}
|
|
|
|
{%- for media in product.media -%}
|
|
{%- if product.selected_variant and media.id == product.selected_variant.featured_media.id -%}
|
|
{%- assign initial_media_index = forloop.index0 -%}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
|
|
{% assign show_preOrderButton = false %}
|
|
{% if current_variant.inventory_policy == 'continue' and current_variant.inventory_management == 'shopify' and settings.show_preOrder_btn and current_variant.inventory_quantity <= 0 %}
|
|
{% assign show_preOrderButton = true %}
|
|
{% endif %}
|
|
|
|
{% assign hide_price0_box_and_button = false %}
|
|
{% if settings.hide_price0_box_and_button and product.price_max == 0 %}
|
|
{% assign hide_price0_box_and_button = true %}
|
|
{% endif %}
|
|
|
|
|
|
{% assign product_description_in_static_tab = false %}
|
|
{% assign show_static_tabs = false %}
|
|
{% for block in section.blocks %}
|
|
{% if block.type contains 'static_tab' %}
|
|
{% assign show_static_tabs = true %}
|
|
|
|
{% if block.settings.product_tab_use_product_description %}
|
|
{% assign product_description_in_static_tab = true %}
|
|
{% break %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
|
|
{%- capture flickity_options -%}
|
|
{
|
|
"prevNextButtons": true,
|
|
"pageDots": false,
|
|
"adaptiveHeight": true,
|
|
"cellAlign": "left",
|
|
"contain": true,
|
|
"pauseAutoPlayOnHover": true,
|
|
"dragThreshold": 8,
|
|
"initialIndex": {{ initial_media_index }},
|
|
"arrowShape": {"x0": 20, "x1": 60, "y1": 40, "x2": 60, "y2": 35, "x3": 25}
|
|
}
|
|
{%- endcapture -%}
|
|
|
|
|
|
{%- capture thumb_flickity_options -%}
|
|
{
|
|
"prevNextButtons": false,
|
|
"pageDots": false,
|
|
"pauseAutoPlayOnHover": true,
|
|
"contain": true,
|
|
"cellAlign": "left",
|
|
"dragThreshold": 8,
|
|
"initialIndex": {{ initial_media_index }},
|
|
"arrowShape": {"x0": 20, "x1": 60, "y1": 40, "x2": 60, "y2": 35, "x3": 25}
|
|
}
|
|
{%- endcapture -%}
|
|
|
|
{% assign cart_icon_style = settings.header_cart_icon_style %}
|
|
|
|
|
|
{% assign show_breadcrumbs = section.settings.show_breadcrumbs %}
|
|
|
|
{% if template.suffix == 'quick-view' %}
|
|
{% assign show_breadcrumbs = false %}
|
|
{% endif %}
|
|
|
|
|
|
{% assign show_inventory_quantity = false %}
|
|
{% assign low_inventory_threshold = 0 %}
|
|
{% assign show_product_desc_full_width = false %}
|
|
|
|
{% assign enable_alts = false %}
|
|
{% for media in product.media %}
|
|
{%- assign media_alt = media.alt -%}
|
|
|
|
{%- if media.alt contains '#' -%}
|
|
{%- assign is_media_group = true -%}
|
|
{%- assign alt_parts = media.alt | split: '#' -%}
|
|
|
|
{%- assign media_group_parts = alt_parts.last | split: '_' -%}
|
|
|
|
{%- assign downcase_group_option = media_group_parts.first | strip | downcase -%}
|
|
|
|
{%- assign downcase_group_value = media_group_parts.last | strip | downcase -%}
|
|
|
|
|
|
{%- for option in product.options -%}
|
|
{%- assign downcase_option = option | downcase -%}
|
|
|
|
{%- if downcase_option == downcase_group_option -%}
|
|
{% assign enable_alts = true %}
|
|
{% break %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{%- endif -%}
|
|
{% endfor %}
|
|
|
|
<div class="page-width-small" id="ProductSection-{{ section.id }}"
|
|
data-section-id="{{ section.id }}"
|
|
data-product-handle="{{ product.handle }}"
|
|
data-section-type="product"
|
|
data-enable-history-state="{% if template.suffix == 'quick-view' %}false{% else %}true{% endif %}"
|
|
data-show_preOrder_btn="{{settings.show_preOrder_btn}}"
|
|
data-show_pick_an_option="{% if product.variants.size > 1 and product.selected_variant == blank %}{{ section.settings.show_pick_an_option }}{% else %}false{% endif %}"
|
|
data-enable-alts="{{ enable_alts }}">
|
|
|
|
{% if show_breadcrumbs %}
|
|
{% render 'breadcrumbs' product:product %}
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% comment %}
|
|
Get first variant, or deep linked one
|
|
{% endcomment %}
|
|
{%- assign product_thumb_size = '110x110' -%}
|
|
{%- assign product_image_zoom_size = '1024x1024' -%}
|
|
{%- assign product_image_scale = '2' -%}
|
|
|
|
|
|
{% assign thumbnails_type = section.settings.thumbnails_type %}
|
|
{% assign thumbnails_size = section.settings.thumbnails_size %}
|
|
|
|
{% assign show_thumbnails = true %}
|
|
|
|
{% if thumbnails_type == 'none' %}
|
|
{% assign show_thumbnails = false %}
|
|
{% endif %}
|
|
|
|
{% assign enable_thumbnail_slides = false %}
|
|
{% if thumbnails_type == 'carousel' %}
|
|
{% assign enable_thumbnail_slides = true %}
|
|
{% endif %}
|
|
|
|
|
|
{% case section.settings.media_size %}
|
|
{% when 'small' %}
|
|
{%- assign product_media_width = 'medium-up--one-third' -%}
|
|
{%- assign product_description_width = 'medium-up--two-thirds' -%}
|
|
{%- assign height = 345 -%}
|
|
{% when 'medium' %}
|
|
{%- assign product_media_width = 'medium-up--one-half' -%}
|
|
{%- assign product_description_width = 'medium-up--one-half' -%}
|
|
{%- assign height = 530 -%}
|
|
{% when 'large' %}
|
|
{%- assign product_media_width = 'medium-up--two-thirds' -%}
|
|
{%- assign product_description_width = 'medium-up--one-third' -%}
|
|
{%- assign height = 720 -%}
|
|
{% when 'full' %}
|
|
{%- assign product_media_width = '' -%}
|
|
{%- assign product_description_width = '' -%}
|
|
{%- assign height = 1090 -%}
|
|
{% endcase %}
|
|
|
|
|
|
|
|
|
|
{% assign enabled_mobile_sticky_btns = section.settings.enabled_mobile_sticky_btns %}
|
|
|
|
{% if template.suffix == 'quick-view' %}
|
|
{% assign enabled_mobile_sticky_btns = false %}
|
|
{% endif %}
|
|
|
|
|
|
<div class="grid product-single{% if section.settings.enable_payment_button %} product-single--{{ section.settings.media_size }}-media{% endif %}">
|
|
<div class="grid__item product-single__media-group {{ product_media_width }} {% if section.settings.enable_sticky_gallery_on_desktop %} product-single__media-group--sticky {% endif %} {% if section.settings.media_size == 'full' %} product-single__media-group--full{% endif %}" data-product-single-media-group>
|
|
|
|
|
|
<div class='product-single__media__carousel {% if enable_image_zoom %} product_image__zoom {% endif %}' data-product-main-slider data-flickity-config='{{ flickity_options }}' >
|
|
{%- assign featured_media = product.selected_or_first_available_variant.featured_media | default: product.featured_media -%}
|
|
|
|
|
|
{%- for media in product.media -%}
|
|
|
|
<div class='product-single__media__slide' data-media-id="{{ media.id }}" data-media-index="{{ forloop.index0 }}">
|
|
{% render 'media', media: media, featured_media: featured_media, height: height, image_scale: product_image_scale, forloop_first:forloop.first %}
|
|
</div>
|
|
{%- endfor -%}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
{% assign first_3d_model = product.media | where: "media_type", "model" | first %}
|
|
|
|
{%- if first_3d_model -%}
|
|
<button
|
|
aria-label="{{ 'products.product.view_in_space_label' | t }}"
|
|
class="product-single__view-in-space"
|
|
data-shopify-xr
|
|
data-shopify-model3d-id="{{ first_3d_model.id }}"
|
|
data-shopify-title="{{ product.title | escape }}"
|
|
data-shopify-xr-hidden
|
|
>
|
|
{% render 'icon-3d-badge-full-color' %}<span class='product-single__view-in-space-text'>{{ 'products.product.view_in_space' | t }}</span>
|
|
</button>
|
|
{%- endif -%}
|
|
|
|
|
|
{% if show_thumbnails %}
|
|
{% render 'thumbnails-gallery' enable_thumbnail_slides:enable_thumbnail_slides,thumb_flickity_options:thumb_flickity_options %}
|
|
{% endif %}
|
|
|
|
|
|
|
|
</div>
|
|
<div class="grid__item {{ product_description_width }}">
|
|
<div class="product-single__meta {% if enabled_mobile_sticky_btns %} {% endif %}">
|
|
|
|
{% capture "form_classes" -%}
|
|
product-form product-form-{{ section.id }}
|
|
{%- if section.settings.enable_payment_button and product.has_only_default_variant%} product-form--payment-button-no-variants{% endif %}
|
|
{%- if current_variant.available == false %} product-form--variant-sold-out {%- endif -%}
|
|
{%- endcapture %}
|
|
{% form 'product', product, class:form_classes, data-product-form: '' %}
|
|
|
|
{% assign show_default_variant_input = true %}
|
|
|
|
{% for block in section.blocks %}
|
|
{% case block.type %}
|
|
|
|
|
|
{% when 'complementary' %}
|
|
|
|
{% assign enable_quick_add = block.settings.enable_quick_add %}
|
|
|
|
<div class='complementary-products'
|
|
data-url="{{ routes.product_recommendations_url }}?section_id={{ section.id }}&product_id={{ product.id }}&limit={{ block.settings.product_list_limit }}&intent=complementary">
|
|
|
|
{% if block.settings.block_heading != blank %}
|
|
<h5 class='complementary-products-heading h5'>{{ block.settings.block_heading }}</h5>
|
|
{% endif %}
|
|
|
|
|
|
{% assign products_per_page = block.settings.products_per_page | times: 1 %}
|
|
{% assign recommendations_products_size = recommendations.products | size %}
|
|
|
|
|
|
{%- capture flickity_options -%}
|
|
{
|
|
"prevNextButtons": false,
|
|
"wrapAround": true,
|
|
"dragThreshold": 15,
|
|
"cellAlign": "left",
|
|
"autoPlay": false,
|
|
"pageDots": false
|
|
}
|
|
{%- endcapture -%}
|
|
|
|
<div class='complementary-products-slider_custom_arrows slider_custom_arrows'>
|
|
<a href="javascript:void(0)" id='complementary_button_prev_{{section.id}}' class='button-prev btn btn--circle-arrow' aria-label="Previous" aria-describedby="button previous">
|
|
{% render 'icon' with 'tail-left' %}
|
|
</a>
|
|
<a href="javascript:void(0)" id='complementary_button_next_{{section.id}}' class='button-next btn btn--circle-arrow' aria-label="Next" aria-describedby="button next">
|
|
{% render 'icon' with 'tail-right' %}
|
|
</a>
|
|
</div>
|
|
|
|
<div class='complementary-products-slider {% if settings.align_height %} use_align_height {% else %} use_image_height {% endif %}' data-flickity-config='{{ flickity_options }}'>
|
|
{%- if recommendations.performed and recommendations.products_count > 0 -%}
|
|
{%- assign max_height = 250 -%}
|
|
|
|
<div class=" complementary_grid">
|
|
<div class='complementary_products_slide'>
|
|
{%- for prod in recommendations.products limit: block.settings.product_list_limit offset: continue -%}
|
|
{% assign modulo_index = forloop.index | modulo:products_per_page %}
|
|
|
|
{% render 'product-card-item', enable_quick_add: enable_quick_add, block:block,isComplementary_product: true,list: true, max_height: max_height, product: prod, show_vendor: false,products_per_row: 1 %}
|
|
|
|
{% if modulo_index == 0 and recommendations_products_size != forloop.index %}
|
|
</div>
|
|
<div class='complementary_products_slide'>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{% when "@app" %}
|
|
{% render block %}
|
|
|
|
{% when 'product_price' %}
|
|
<div class="product__price">
|
|
{% render 'product-price', variant: current_variant, product: product %}
|
|
</div>
|
|
{%- if cart.taxes_included or shop.shipping_policy.body != blank -%}
|
|
<div class="product__policies rte" data-product-policies>
|
|
{%- if cart.taxes_included -%}
|
|
{{ 'products.product.include_taxes' | t }}
|
|
{%- endif -%}
|
|
{%- if shop.shipping_policy.body != blank -%}
|
|
{{ 'products.product.shipping_policy_html' | t: link: shop.shipping_policy.url }}
|
|
{%- endif -%}
|
|
</div>
|
|
{%- endif -%}
|
|
|
|
<div class='shopify-payment-terms'>
|
|
{{ form | payment_terms }}
|
|
</div>
|
|
|
|
{% when 'liquid_code' %}
|
|
{% if block.settings.liquid != blank %}
|
|
<div class="product-liquid-code">{{ block.settings.liquid }}</div>
|
|
{% endif %}
|
|
|
|
{% when 'local_pickup' %}
|
|
|
|
{%- comment -%}
|
|
Live region for announcing updated price and availability to screen readers
|
|
{%- endcomment -%}
|
|
<p class="visually-hidden" data-product-status
|
|
aria-live="polite"
|
|
role="status"
|
|
></p>
|
|
|
|
{%- comment -%}
|
|
Live region for announcing that the product form has been submitted and the
|
|
product is in the process being added to the cart
|
|
{%- endcomment -%}
|
|
<p class="visually-hidden" data-loader-status
|
|
aria-live="assertive"
|
|
role="alert"
|
|
aria-hidden="true"
|
|
>{{ 'products.product.loader_label' | t }}</p>
|
|
|
|
|
|
<div
|
|
class="product-single__store-availability-container"
|
|
data-store-availability-container
|
|
data-product-title="{{ product.title | escape }}"
|
|
data-has-only-default-variant="{{ product.has_only_default_variant }}"
|
|
data-base-url="{{ shop.url }}{{ routes.root_url }}"
|
|
>
|
|
</div>
|
|
|
|
|
|
{% when 'product_title' %}
|
|
<h1 class=" product-single__title h3">
|
|
|
|
{% if template.suffix == 'quick-view' %}
|
|
<a href="{{ product.url}}"> {{ product.title }} </a>
|
|
{% else %}
|
|
{{ product.title }}
|
|
{% endif %}
|
|
|
|
</h1>
|
|
|
|
|
|
{%- when 'rating' -%}
|
|
{%- if product.metafields.reviews.rating.value != blank -%}
|
|
{% liquid
|
|
assign rating_decimal = 0
|
|
assign decimal = product.metafields.reviews.rating.value.rating | modulo: 1
|
|
if decimal >= 0.3 and decimal <= 0.7
|
|
assign rating_decimal = 0.5
|
|
elsif decimal > 0.7
|
|
assign rating_decimal = 1
|
|
endif
|
|
%}
|
|
<div class="rating" role="img" aria-label="{{ 'general.accessibility.star_reviews_info' | t: rating_value: product.metafields.reviews.rating.value, rating_max: product.metafields.reviews.rating.value.scale_max }}">
|
|
<span aria-hidden="true" class="rating-star color-icon-text" style="--rating: {{ product.metafields.reviews.rating.value.rating | floor }}; --rating-max: {{ product.metafields.reviews.rating.value.scale_max }}; --rating-decimal: {{ rating_decimal }};"></span>
|
|
</div>
|
|
<p class="rating-text caption">
|
|
<span aria-hidden="true">{{ product.metafields.reviews.rating.value }} / {{ product.metafields.reviews.rating.value.scale_max }}</span>
|
|
</p>
|
|
<p class="rating-count caption">
|
|
<span aria-hidden="true">({{ product.metafields.reviews.rating_count }})</span>
|
|
<span class="visually-hidden">{{ product.metafields.reviews.rating_count }} {{ "general.accessibility.total_reviews" | t }}</span>
|
|
</p>
|
|
{%- endif -%}
|
|
|
|
|
|
{% when 'product_description' %}
|
|
|
|
{% if block.settings.desc_display == 'default' %}
|
|
<div class="rte product-single__description main-product-description-{{ section.id }}" >
|
|
{{ product.description }}
|
|
</div>
|
|
{% else %}
|
|
{% assign show_product_desc_full_width = true %}
|
|
{% endif %}
|
|
|
|
{% when 'product_buttons' %}
|
|
|
|
{%- if product.gift_card? and block.settings.show_gift_card_recipient -%}
|
|
<div class="form_bg_row">
|
|
<div class="gift-card-recipient">
|
|
<div class="gift-card-recipient__checkbox">
|
|
<input id="send_gift_card_to_recipient" type="checkbox" name="properties[__shopify_send_gift_card_to_recipient]">
|
|
<label for="send_gift_card_to_recipient">{{'gift_cards.recipient.checkbox' | t }}</label>
|
|
</div>
|
|
|
|
<div class="gift-card-recipient__fields">
|
|
<div class="form-vertical">
|
|
<input class="gift-card-recipient-field gift-card-recipient-field-email" type="email" name="properties[Recipient email]" placeholder="{{ 'gift_cards.recipient.email_label' | t }}">
|
|
<input class="gift-card-recipient-field" type="text" name="properties[Recipient name]" placeholder="{{ 'gift_cards.recipient.name_label' | t }}">
|
|
<textarea class="gift-card-recipient-field" rows="3" maxlength="200" name="properties[Message]" placeholder="{{ 'gift_cards.recipient.message_label' | t }}"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{%- endif -%}
|
|
|
|
<div class="product-form__controls-group
|
|
{% if enabled_mobile_sticky_btns %} product-form-sticky-parent {% endif %}
|
|
product-form__controls-group--submit {% if hide_price0_box_and_button %} hide {% endif %}">
|
|
<div class="product-form__item product-form__item--submit
|
|
{%- if block.settings.enable_payment_button %} product-form__item--payment-button {%- endif -%}
|
|
"
|
|
>
|
|
|
|
{% if request.page_type != 'password' %}
|
|
<button type="submit" name="add"
|
|
{% unless current_variant.available %} aria-disabled="true"{% endunless %}
|
|
aria-label="{% unless current_variant.available %}{{ 'products.product.sold_out' | t }}{% else %}{% if show_preOrderButton %}{{ 'products.product.pre_order' | t }}{% else %}{{ 'products.product.add_to_cart' | t }}{% endif %}{% endunless %}"
|
|
class="btn product-form__cart-submit btn--primary"
|
|
|
|
data-add-to-cart>
|
|
<span data-add-to-cart-text>
|
|
{% unless current_variant.available %}
|
|
{{ 'products.product.sold_out' | t }}
|
|
{% else %}
|
|
{% if show_preOrderButton %}
|
|
{{ 'products.product.pre_order' | t }}
|
|
{% else %}
|
|
{{ 'products.product.add_to_cart' | t }}
|
|
{% endif %}
|
|
{% endunless %}
|
|
</span>
|
|
{%- render 'icon', icon: cart_icon_style -%}
|
|
<span class="hide" data-loader>
|
|
{% render 'icon-spinner' %}
|
|
</span>
|
|
</button>
|
|
{% endif %}
|
|
|
|
{% if block.settings.enable_payment_button %}
|
|
{{ form | payment_button }}
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class='pre_order_text {% unless show_preOrderButton %} hide {% endunless %}'>
|
|
{{ 'products.product.pre_order_text' | t }}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="product-form__error-message-wrapper product-form__error-message-wrapper--hidden{% if section.settings.enable_payment_button %} product-form__error-message-wrapper--has-payment-button{% endif %}" data-error-message-wrapper role="alert">
|
|
<span class="visually-hidden">{{ 'general.accessibility.error' | t }} </span>
|
|
{% render 'icon-error' %}
|
|
<span class="product-form__error-message" data-error-message>{{ 'products.product.quantity_minimum_message' | t }}</span>
|
|
</div>
|
|
|
|
<p class="visually-hidden" data-loader-status
|
|
aria-live="assertive"
|
|
role="alert"
|
|
aria-hidden="true"
|
|
>{{ 'products.product.loader_label' | t }}</p>
|
|
|
|
|
|
|
|
{% when 'product_vendor'%}
|
|
<div class="price__vendor">
|
|
<span class="visually-hidden">{{ 'products.product.vendor' | t }}</span>
|
|
{{product.vendor | link_to_vendor}}
|
|
|
|
</div>
|
|
|
|
{% when 'show_share_buttons' %}
|
|
{% render 'social-sharing', share_title: product.title, share_permalink: product.url, share_image: product %}
|
|
|
|
|
|
{% when 'inventory_qty' %}
|
|
{% assign show_inventory_quantity = true %}
|
|
{% assign low_inventory_threshold = block.settings.low_inventory_threshold %}
|
|
<div class='inventory_qty_info' data-block-type="inventory-qty">
|
|
|
|
<div class="product-form__info-content {% if section.settings.show_pick_an_option and product.selected_variant == blank and product.variants.size > 1%} hide {% endif %}">
|
|
{%- if current_variant.available -%}
|
|
{%- if current_variant.inventory_management and current_variant.inventory_policy == 'deny' and block.settings.low_inventory_threshold > 0 -%}
|
|
{%- if current_variant.inventory_quantity <= block.settings.low_inventory_threshold -%}
|
|
|
|
{% assign text = 'products.product.low_stock_with_quantity_count' | t: count: current_variant.inventory_quantity %}
|
|
{% assign icon = 'exclamation' %}
|
|
{% assign type = 'warning' %}
|
|
|
|
{%- else -%}
|
|
{% assign text = 'products.product.in_stock_with_quantity_count' | t: count: current_variant.inventory_quantity %}
|
|
{% assign icon = 'check' %}
|
|
{% assign type = 'success' %}
|
|
|
|
{%- endif -%}
|
|
{%- else -%}
|
|
|
|
{% assign text = 'products.product.in_stock' | t %}
|
|
{% assign icon = 'check' %}
|
|
{% assign type = 'success' %}
|
|
|
|
{%- endif -%}
|
|
{%- else -%}
|
|
|
|
{% assign text = 'products.product.out_of_stock' | t %}
|
|
{% assign icon = 'x' %}
|
|
{% assign type = 'danger' %}
|
|
|
|
{%- endif -%}
|
|
|
|
<div class="product-form__inventory">
|
|
<div class="product-form__inventory-icon">
|
|
<div class="product-form__inventory-icon-base">
|
|
|
|
<load-icon name="box"></load-icon>
|
|
|
|
</div>
|
|
<div class="product-form__inventory-icon-status text-{{ type }}">
|
|
<load-icon name="{{icon}}"></load-icon>
|
|
</div>
|
|
</div>
|
|
<div class="product-form__inventory-text h6">{{ text }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
{% when 'form_popup' %}
|
|
{% assign show_form_popup = true %}
|
|
|
|
{% assign link_alignment = block.settings.link_alignment %}
|
|
{% assign link_color = block.settings.link_color %}
|
|
{% assign underline_link_title = block.settings.underline_link_title %}
|
|
|
|
|
|
<div class='form_popup_link_wrapper text-{{ link_alignment }}'>
|
|
{% if block.settings.link_title != blank %}
|
|
<a href="#form_popup__{{ block.id }}" class="form_popup_link form_popup_link__{{ block.id }}">
|
|
{% if block.settings.icon != blank %}
|
|
<load-icon name="{{block.settings.icon}}"></load-icon>
|
|
{% endif %}
|
|
<span class="{% if underline_link_title %}link_underline{% endif %}">{{ block.settings.link_title }}</span>
|
|
|
|
</a>
|
|
{% endif %}
|
|
|
|
{% if link_color != blank %}
|
|
<style>
|
|
.form_popup_link__{{ block.id }}:not(:hover) span {
|
|
color: {{ link_color }};
|
|
}
|
|
</style>
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% when 'quantity_block' %}
|
|
<div class='form_bg_row quantity_block'>
|
|
<div class='product_quantity_info_container'>
|
|
<div class='qty_container'>
|
|
<label class='header' for="Quantity-{{ block.id }}">{{ 'products.product.quantity' | t }}:</label>
|
|
<div class="qty product-page-qty">
|
|
<a href='javascript:void(0);' class="minus_btn qty_btn" ></a>
|
|
<input type="text" id="Quantity-{{ block.id }}"
|
|
name="quantity" value="1" min="1" pattern="[0-9]*"
|
|
class="product-form__input product-form__input--quantity"
|
|
data-quantity-input>
|
|
<a href='javascript:void(0);' class="plus_btn qty_btn" ></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% when 'product_variations' %}
|
|
{%- liquid
|
|
assign contains_product = false
|
|
|
|
for product_variation in block.settings.products
|
|
if product_variation == product
|
|
assign contains_product = true
|
|
endif
|
|
endfor
|
|
-%}
|
|
|
|
{%- if contains_product -%}
|
|
{%- assign metafield_parts = block.settings.option_value_metafield | split: '.' -%}
|
|
{%- assign metafield_namespace = metafield_parts | first -%}
|
|
{%- assign metafield_key = metafield_parts | last -%}
|
|
|
|
{% if block.settings.color_selector_type == 'dropdown' %}
|
|
<div class="product-form__controls-group product_options_block_wrapper product_options_block_wrapper--product-variations">
|
|
<div class="selector-wrapper js product-form__item">
|
|
{% if block.settings.option_name != blank %}
|
|
<label class="header" for="SingleOptionSelector-{{ section.id }}-product-variations">
|
|
{{ block.settings.option_name | escape }}
|
|
</label>
|
|
{% endif %}
|
|
<select class="single-option-selector product-form__input" id="SingleOptionSelector-{{ section.id }}-product-variations">
|
|
{% for product_variation in block.settings.products %}
|
|
{% assign value = product_variation.metafields[metafield_namespace][metafield_key].value %}
|
|
<option value="{{ product_variation.url }}"{% if product_variation == product %}selected="selected"{% endif %}>{{ value }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<div class="product_swatches-variations">
|
|
<div class="clearfix form_bg_row">
|
|
<div class="swatch">
|
|
{% if block.settings.option_name != blank %}
|
|
<style>
|
|
.swatch-option\:{{ block.settings.option_name | escape }} {
|
|
display: none;
|
|
}
|
|
</style>
|
|
<div class="header">{{ block.settings.option_name | escape }}:</div>
|
|
{% endif %}
|
|
<div class="swatch_elements_wrapper">
|
|
{% for product_variation in block.settings.products %}
|
|
{% assign value = product_variation.metafields[metafield_namespace][metafield_key].value %}
|
|
|
|
{% if product_variation == product %}
|
|
{% assign selected = true %}
|
|
{% else %}
|
|
{% assign selected = false %}
|
|
{% endif %}
|
|
|
|
{% if block.settings.color_selector_type == 'block' %}
|
|
<a href="{{ product_variation.url }}" class="swatch-element swatch_{{ value | handle }}">
|
|
<label {% if selected %}class="is-selected"{% endif %}>{{ value }}</label>
|
|
</a>
|
|
{% elsif block.settings.color_selector_type == 'color' %}
|
|
<a href="{{ product_variation.url }}" class="swatch-element color swatch_{{ value | handle }}">
|
|
<label class="{% if selected %}is-selected{% endif %} swatch-size--{{ block.settings.color_selector_size }}" title="{{value}}" style="{% render 'color_swatch_customization', default_value: value, filter_value:value %}">
|
|
<span class='swatch_check_icon'>{% render 'icon' with 'check' %}</span>
|
|
</label>
|
|
{% if block.settings.show_tooltip and value != blank %}
|
|
<div class="tooltip">{{ value }}</div>
|
|
{% endif %}
|
|
</a>
|
|
{% elsif block.settings.color_selector_type == 'variant' %}
|
|
<a href="{{ product_variation.url }}" class="swatch-element color swatch_{{ value | handle }}">
|
|
<label class="{% if selected %}is-selected{% endif %} swatch-size--{{ block.settings.color_selector_size }}" title="{{value}}" style="background-color:#fff; background-image: url({{ product_variation.featured_media | img_url:"100x" }});">
|
|
<span class='swatch_check_icon'>{% render 'icon' with 'check' %}</span>
|
|
</label>
|
|
{% if block.settings.show_tooltip and value != blank %}
|
|
<div class="tooltip">{{ value }}</div>
|
|
{% endif %}
|
|
</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{%- endif -%}
|
|
|
|
{% when 'product_options_block' %}
|
|
<div class="" data-block-type="product-options-block">
|
|
{% assign show_default_variant_input = false %}
|
|
|
|
|
|
{% unless product.has_only_default_variant %}
|
|
<div class="product-form__controls-group product_options_block_wrapper">
|
|
{% for option in product.options_with_values %}
|
|
<div class="selector-wrapper js product-form__item">
|
|
<label class="header" for="SingleOptionSelector-{{ section.id }}-{{ forloop.index0 }}">
|
|
{{ option.name }}
|
|
</label>
|
|
<select class="single-option-selector single-option-selector-{{ section.id }} product-form__input single_option_{{option.name | downcase}}_selector-{{ section.id }}"
|
|
id="SingleOptionSelector-{{ section.id }}-{{ forloop.index0 }}"
|
|
data-option-name='{{ option.name | downcase }}'
|
|
data-index="option{{ forloop.index }}">
|
|
{% for value in option.values %}
|
|
<option value="{{ value.id }}" data-option-value="{{ value | escape }}" {% if option.selected_value == value %} selected="selected"{% endif %}>
|
|
{{ value }}
|
|
{% unless value.available %}
|
|
{% if value.variant %} - {{ 'products.product.sold_out' | t }}{% else %} - {{ 'products.product.unavailable' | t }}{% endif %}
|
|
{% endunless %}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% if block.settings.show_product_swatches %}
|
|
|
|
{% unless product.has_only_default_variant %}
|
|
|
|
|
|
{% if template.suffix != 'quick-view' %}
|
|
{% assign use_variant_image_for_swatches = block.settings.use_variant_image_for_swatches %}
|
|
{% else %}
|
|
{% assign use_variant_image_for_swatches = settings.use_variant_image_for_grid_swatches %}
|
|
{% endif %}
|
|
<div class='product_swatches'>
|
|
{% for option in product.options_with_values %}
|
|
{% render 'swatch' swatch:option, forloop_index: forloop.index, use_variant_image_for_swatches:use_variant_image_for_swatches %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endunless %}
|
|
{% endif %}
|
|
{% endunless %}
|
|
</div>
|
|
<input name="id" id="ProductSelect-{{ section.id }}" class="product-form__variants no-js" type="hidden"
|
|
value="{{ current_variant.id }}"
|
|
data-inventory_management="{{current_variant.inventory_management}}"
|
|
data-inventory_policy="{{current_variant.inventory_policy}}"
|
|
data-inventory_quantity="{{current_variant.inventory_quantity}}"
|
|
/>
|
|
{% when 'sku_block' %}
|
|
<p class='product_sku product-sku' {% if current_variant.sku == blank %} style="display:none;" {% else %}{% if section.settings.show_pick_an_option and product.selected_variant == blank and product.variants.size > 1%} style="display:none;" {% endif %}{% endif %}>{{ 'products.product.sku' | t }} <span class='variant-sku'> {{ current_variant.sku }}</span></p>
|
|
|
|
{% when 'image_with_text_blocks' %}
|
|
|
|
{% assign image_with_text_blocks_color = block.settings.icon_color %}
|
|
|
|
<div class='image_with_text_blocks'>
|
|
{% for i in (1..3) %}
|
|
|
|
{% capture link_handle %}link_{{i}}{% endcapture %}
|
|
{% capture text_handle %}text_{{i}}{% endcapture %}
|
|
{% capture image_handle %}image_{{i}}{% endcapture %}
|
|
{% capture show_block_handle %}show_block_{{i}}{% endcapture %}
|
|
{% capture icon_handle %}icon_{{i}}{% endcapture %}
|
|
|
|
{% assign link = block.settings[link_handle] %}
|
|
{% assign text = block.settings[text_handle] %}
|
|
{% assign image = block.settings[image_handle] %}
|
|
{% assign icon_name = block.settings[icon_handle] %}
|
|
|
|
{% assign show_block = block.settings[show_block_handle] %}
|
|
|
|
{% if i == 1 %}
|
|
{% assign show_block = true %}
|
|
{% endif %}
|
|
|
|
{% if show_block %}
|
|
<div class='block'>
|
|
{% if link != blank %}
|
|
<a href='{{link}}'>
|
|
{% endif %}
|
|
<div class='block_content'>
|
|
{% if image != blank %}
|
|
<img src='{{ image | img_url:"200x"}}'
|
|
srcset="{{ image | img_url: '200x' }} 1x, {{ image | img_url: '200x', scale: 2 }} 2x"
|
|
loading="lazy"
|
|
width="{{image.width}}"
|
|
height="{{image.height}}"
|
|
alt='{{image.alt | default: text }}'
|
|
style="object-position:{{ image.presentation.focal_point }};">
|
|
{% else %}
|
|
|
|
<load-icon name="{{ icon_name }}"></load-icon>
|
|
{% endif %}
|
|
{% if text != blank %}
|
|
<p>{{text}}</p>
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% if link != blank %}
|
|
</a>
|
|
{% endif %}
|
|
|
|
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
|
|
{% when 'back_in_stock' %}
|
|
<div class='back_in_stock_row {% if current_variant.available %} hide {% elsif section.settings.show_pick_an_option and product.selected_variant == blank and product.variants.size > 1%} hide {% endif %}' data-id="{{ 'ContactForm_' | append: product.id }}">
|
|
|
|
<div class='back_in_stock_response'></div>
|
|
<label for="back_in_stock_custom_formInput-{{ product.id }}" ><span class='h5'>{{ 'products.product.notify_me_heading' | t }}</span></label>
|
|
<div class='back_in_stock_custom_form'>
|
|
<input type="email"
|
|
id="back_in_stock_custom_formInput-{{ product.id }}"
|
|
class="Form__Input input-group__field"
|
|
value="{{ form.email }}"
|
|
placeholder="{{ 'products.product.email_placeholder' | t }}"
|
|
autocorrect="off"
|
|
autocapitalize="off"
|
|
name="contact[email]"
|
|
form="{{ 'ContactForm_' | append: product.id }}"
|
|
>
|
|
|
|
<span class="input-group__btn-wrapper">
|
|
<button type="submit" form="{{ 'ContactForm_' | append: product.id }}" class="btn btn--primary back_in_stock_btn" >
|
|
{% render 'icon' with 'check' %}
|
|
</button>
|
|
</span>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
{% else %}
|
|
{% if block.type contains 'collapsible_tab' %}
|
|
|
|
|
|
{% assign type = block.type | replace: 'collapsible_tab_', '' %}
|
|
|
|
{%- case type -%}
|
|
|
|
{%- when 'text' -%}
|
|
<div class='product_description_accrordion {{type}}'>
|
|
<div class='product_accordion__block'>
|
|
<span class="product_accordion__heading h5">
|
|
{{ block.settings.heading }}
|
|
</span>
|
|
<div class='product_accordion__content'>
|
|
<div class="rte">
|
|
{{ block.settings.content }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{%- when 'page' -%}
|
|
<div class='product_description_accrordion {{type}}'>
|
|
<div class='product_accordion__block'>
|
|
<span class="product_accordion__heading h5">
|
|
{{ block.settings.heading | default: block.settings.page.title }}
|
|
</span>
|
|
<div class='product_accordion__content'>
|
|
<div class="rte">
|
|
{{ block.settings.page.content }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{%- when 'desc' -%}
|
|
{% if product_description_in_static_tab == false %}
|
|
{% assign expanded_by_default = block.settings.expanded_by_default %}
|
|
<div class='product_description_accrordion {{ type}} '>
|
|
<div class='product_accordion__block'>
|
|
<span class="product_accordion__heading h5 {% if expanded_by_default %} active {% endif %}">
|
|
{{ block.settings.heading }}
|
|
</span>
|
|
<div class='product_accordion__content {% if expanded_by_default %} active {% endif %}'>
|
|
<div class="rte">
|
|
{{ product.description }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{%- when 'liquid' -%}
|
|
<div class='product_description_accrordion {{ type }}'>
|
|
<div class='product_accordion__block'>
|
|
<span class="product_accordion__heading h5">
|
|
{{ block.settings.heading }}
|
|
</span>
|
|
<div class='product_accordion__content'>
|
|
<div class="rte">
|
|
{{ block.settings.content }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endcase %}
|
|
|
|
|
|
{% endif %}
|
|
|
|
{% endcase %}
|
|
{% endfor %}
|
|
|
|
|
|
{% if show_default_variant_input %}
|
|
<input type="hidden" name="id" value="{{ current_variant.id }}" />
|
|
{% endif %}
|
|
{% endform %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
{% if show_product_desc_full_width %}
|
|
{% for block in section.blocks %}
|
|
{% if block.type == 'product_description' %}
|
|
<div class="rte product-single__description main-product-description-{{ section.id }} full_product-single__description" >
|
|
{{ product.description }}
|
|
</div>
|
|
{% break %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if template.suffix != 'quick-view' %}
|
|
{% if show_static_tabs %}
|
|
{% assign static_tab_title_index = 1 %}
|
|
{% assign static_tab_text_index = 1 %}
|
|
<div class="tabing small--hide">
|
|
<ul class="nav nav-tabs">
|
|
|
|
{% for block in section.blocks %}
|
|
{% if block.type contains 'static_tab' %}
|
|
<li {% if static_tab_title_index == 1 %}class="active"{% endif %}>
|
|
<a href="#tab{{static_tab_title_index}}" data-toggle="tab">
|
|
|
|
{% assign type = block.type | replace: 'static_tab_', '' %}
|
|
{% if type == 'page' %}
|
|
{{ block.settings.tab_title | escape | default: block.settings.page.title }}
|
|
{% else %}
|
|
{{ block.settings.tab_title | escape }}
|
|
{% endif %}
|
|
</a>
|
|
</li>
|
|
{% assign static_tab_title_index = static_tab_title_index | plus: 1 %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
<!-- Tab panes -->
|
|
<div class="tab-content">
|
|
|
|
{% for block in section.blocks %}
|
|
{% if block.type contains 'static_tab' %}
|
|
|
|
{% assign type = block.type | replace: 'static_tab_', '' %}
|
|
|
|
{%- case type -%}
|
|
{%- when 'text' -%}
|
|
<div class="tab-pane {% if static_tab_text_index == 1 %} active {% endif %}" id="tab{{ static_tab_text_index }}">
|
|
<div class="rte">
|
|
{% if block.settings.product_tab_content != '' %}
|
|
{{ block.settings.product_tab_content }}
|
|
{% else %}
|
|
<p>{{ 'products.general.tab_no_page' | t }}</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
{%- when 'page' -%}
|
|
<div class="tab-pane {% if static_tab_text_index == 1 %} active {% endif %}" id="tab{{ static_tab_text_index }}">
|
|
<div class="rte">
|
|
{% if block.settings.page.content != '' %}
|
|
{{ block.settings.page.content }}
|
|
{% else %}
|
|
<p>{{ 'products.general.tab_no_page' | t }}</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{%- when 'desc' -%}
|
|
<div class="tab-pane {% if static_tab_text_index == 1 %} active {% endif %}" id="tab{{ static_tab_text_index }}">
|
|
<div class="rte">
|
|
{{ product.description }}
|
|
</div>
|
|
</div>
|
|
{%- when 'liquid' -%}
|
|
<div class="tab-pane {% if static_tab_text_index == 1 %} active {% endif %}" id="tab{{ static_tab_text_index }}">
|
|
<div class="rte">
|
|
{{ block.settings.content }}
|
|
</div>
|
|
</div>
|
|
{% endcase %}
|
|
|
|
{% assign static_tab_text_index = static_tab_text_index | plus: 1 %}
|
|
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class='product_description_accrordion medium-up--hide'>
|
|
|
|
{% for block in section.blocks %}
|
|
{% if block.type contains 'static_tab' %}
|
|
|
|
{% assign type = block.type | replace: 'static_tab_', '' %}
|
|
|
|
<div class='product_accordion__block'>
|
|
<span class="product_accordion__heading h5">
|
|
{% if type == 'page' %}
|
|
{{ block.settings.tab_title | escape | default: block.settings.page.title }}
|
|
{% else %}
|
|
{{ block.settings.tab_title | escape }}
|
|
{% endif %}
|
|
</span>
|
|
<div class='product_accordion__content'>
|
|
|
|
|
|
|
|
{%- case type -%}
|
|
{%- when 'text' -%}
|
|
<div class="rte">
|
|
{% if block.settings.product_tab_content != '' %}
|
|
{{ block.settings.product_tab_content }}
|
|
{% else %}
|
|
<p>{{ 'products.general.tab_no_page' | t }}</p>
|
|
{% endif %}
|
|
</div>
|
|
{%- when 'page' -%}
|
|
<div class="rte">
|
|
{% if block.settings.page.content != '' %}
|
|
{{ block.settings.page.content }}
|
|
{% else %}
|
|
<p>{{ 'products.general.tab_no_page' | t }}</p>
|
|
{% endif %}
|
|
</div>
|
|
{%- when 'desc' -%}
|
|
<div class="rte">
|
|
{{ product.description }}
|
|
</div>
|
|
{%- when 'liquid' -%}
|
|
<div class="rte">
|
|
{{ block.settings.content }}
|
|
</div>
|
|
{% endcase %}
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
|
|
{% if enable_alts %}
|
|
<div class='hide'>
|
|
<div class='all_media__block'>
|
|
{%- for media in product.media -%}
|
|
{% if media.media_type == 'image' %}
|
|
<div class='product-single__media__slide'>
|
|
{% render 'media', media: media, featured_media: featured_media, height: height, image_scale: product_image_scale %}
|
|
</div>
|
|
{% endif %}
|
|
{%- endfor -%}
|
|
</div>
|
|
|
|
{% if show_thumbnails %}
|
|
<div class='all_thumb_media__block'>
|
|
{% for media in product.media %}
|
|
{% if media.media_type == 'image' %}
|
|
{% render 'thumb_media' media: media %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
|
|
{% unless product == empty %}
|
|
<script type="application/json" data-variant-json>
|
|
{{ product.selected_or_first_available_variant | json }}
|
|
</script>
|
|
|
|
<script type="application/json" id="ModelJson-{{ section.id }}">
|
|
{{ product.media | where: 'media_type', 'model' | json }}
|
|
</script>
|
|
{% endunless %}
|
|
|
|
|
|
<style>
|
|
#ProductSection-{{ section.id }} .product-single__thumbnails-block {
|
|
width: calc(100% / {{thumbnails_size}});
|
|
}
|
|
</style>
|
|
|
|
|
|
<div class='hidden_contactForm'>
|
|
{%- assign formId = 'ContactForm_' | append: product.id -%}
|
|
{% form 'contact', id: formId %}
|
|
|
|
<div class='form-status'>
|
|
{% assign success_message = 'products.product.notify_me_success_message' %}
|
|
{% render 'form-status', form: form, form_id: formId, success_message: success_message %}
|
|
</div>
|
|
|
|
|
|
<input type="hidden" id="contant_form_current_variant_title" name="contact[variant-title]" value="{{ current_variant.title }}" />
|
|
<input type="hidden" id="contant_form_current_variant_sku" name="contact[variant-sku]" value="{{ current_variant.sku }}" />
|
|
|
|
|
|
{% comment %}
|
|
<input class='contact-form_email'
|
|
type="email"
|
|
name="contact[email]"
|
|
value="{% if customer %}{{ customer.email }}{% endif %}"
|
|
>
|
|
|
|
<input type="submit" class="btn" value="{{ 'contact.form.submit' | t }}">
|
|
{% endcomment %}
|
|
|
|
{% endform %}
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{% if show_form_popup %}
|
|
{% for block in section.blocks %}
|
|
{% if block.type == 'form_popup' %}
|
|
|
|
{% assign image = block.settings.image %}
|
|
{% assign page_handle = block.settings.page %}
|
|
{% assign content = block.settings.content %}
|
|
|
|
|
|
<div class='form_popup modal' id="form_popup__{{ block.id }}" aria-hidden="true">
|
|
<div class="modal__dialog modal__dialog--stretch" role="dialog">
|
|
<button class="modal__close close_form_popup"
|
|
title="{{ 'general.accessibility.close_modal' | t | escape }}">
|
|
{%- render 'icon', icon: 'close' -%}
|
|
</button>
|
|
<div class="modal__inner ">
|
|
|
|
<div class='page-width-small'>
|
|
{% if image != blank and content == 'image' %}
|
|
<div class='modal__inner_media_wrapper'>
|
|
|
|
|
|
<img src='{{ image | img_url:"300x"}}'
|
|
srcset="{{ image | img_url: '1000x' }} 1x, {{ image | img_url: '1000x', scale: 2 }} 2x, {{ image | img_url: '1000x', scale: 3 }} 3x"
|
|
loading="lazy"
|
|
width="{{image.width}}"
|
|
height="{{image.height}}"
|
|
alt='{{image.alt | default: text }}'
|
|
style="object-position:{{ image.presentation.focal_point }};">
|
|
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if page_handle != blank and content == 'page' %}
|
|
{% assign modal_page = pages[page_handle] %}
|
|
{% if modal_page.content != blank %}
|
|
<div class="modal__inner_page_content rte">
|
|
{{ modal_page.content }}
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
|
|
{{ 'component-rating.css' | asset_url | stylesheet_tag }}
|
|
|
|
{% if enable_image_zoom %}
|
|
<link rel="stylesheet" href="{{ 'photoswipe.css' | asset_url }}" type="text/css">
|
|
<link rel="stylesheet" href="{{ 'default-skin.css' | asset_url }}" type="text/css">
|
|
{% endif %}
|
|
|
|
<script>
|
|
// Override default values of shop.strings for each template.
|
|
// Alternate product templates can change values of
|
|
// add to cart button, sold out, and unavailable states here.
|
|
theme.productStrings = {
|
|
preOrder: {{ 'products.product.pre_order' | t | json }},
|
|
addToCart: {{ 'products.product.add_to_cart' | t | json }},
|
|
soldOut: {{ 'products.product.sold_out' | t | json }},
|
|
unavailable: {{ 'products.product.unavailable' | t | json }}
|
|
}
|
|
</script>
|
|
|
|
{% assign current_variant = product.selected_or_first_available_variant %}
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "http://schema.org/",
|
|
"@type": "Product",
|
|
"name": {{ product.title | json }},
|
|
"url": {{ shop.url | append: product.url | json }},
|
|
{%- if product.featured_media -%}
|
|
{%- assign media_size = product.featured_media.preview_image.width | append: 'x' -%}
|
|
"image": [
|
|
{{ product.featured_media | img_url: media_size | prepend: "https:" | json }}
|
|
],
|
|
{%- endif -%}
|
|
"description": {{ product.description | strip_html | json }},
|
|
{%- if current_variant.sku != blank -%}
|
|
"sku": {{ current_variant.sku | json }},
|
|
{%- endif -%}
|
|
"brand": {
|
|
"@type": "Brand",
|
|
"name": {{ product.vendor | json }}
|
|
},
|
|
"offers": [
|
|
{%- for variant in product.variants -%}
|
|
{
|
|
"@type" : "Offer",
|
|
{%- if variant.sku != blank -%}
|
|
"sku": {{ variant.sku | json }},
|
|
{%- endif -%}
|
|
"availability" : "http://schema.org/{% if variant.available %}InStock{% else %}OutOfStock{% endif %}",
|
|
"price" : {{ variant.price | divided_by: 100.00 | json }},
|
|
"priceCurrency" : {{ cart.currency.iso_code | json }},
|
|
"url" : {{ shop.url | append: variant.url | json }}
|
|
}{% unless forloop.last %},{% endunless %}
|
|
{%- endfor -%}
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
|
|
#ProductSection-{{ section.id }} .image_with_text_blocks .block svg {
|
|
color: {{ image_with_text_blocks_color }};
|
|
}
|
|
</style>
|
|
<script type="module" src="{{ 'dynamic-icon.js' | asset_url }}"></script>
|
|
|
|
|
|
|
|
|
|
|
|
{% schema %}
|
|
{
|
|
"name": "t:sections.product-template.name",
|
|
"tag": "section",
|
|
"class": "section-product-template",
|
|
"settings": [
|
|
{
|
|
"type":"checkbox",
|
|
"id":"show_breadcrumbs",
|
|
"label":"t:sections.product-template.settings.show_breadcrumbs.label",
|
|
"default": true
|
|
},
|
|
{
|
|
"type":"checkbox",
|
|
"id":"show_pick_an_option",
|
|
"label":"t:sections.product-template.settings.show_pick_an_option.label",
|
|
"info":"t:sections.product-template.settings.show_pick_an_option.info",
|
|
"default": false
|
|
},
|
|
{
|
|
"type":"checkbox",
|
|
"id":"enabled_mobile_sticky_btns",
|
|
"label":"t:sections.product-template.settings.enabled_mobile_sticky_btns.label",
|
|
"default": true
|
|
},
|
|
{
|
|
"type": "header",
|
|
"content": "t:sections.product-template.settings.header__2.content",
|
|
"info": "t:sections.product-template.settings.header__2.info"
|
|
},
|
|
{
|
|
"type": "select",
|
|
"id": "media_size",
|
|
"label": "t:sections.product-template.settings.media_size.label",
|
|
"options": [
|
|
{
|
|
"value": "small",
|
|
"label": "t:sections.product-template.settings.media_size.options__1.label"
|
|
},
|
|
{
|
|
"value": "medium",
|
|
"label": "t:sections.product-template.settings.media_size.options__2.label"
|
|
},
|
|
{
|
|
"value": "large",
|
|
"label": "t:sections.product-template.settings.media_size.options__3.label"
|
|
},
|
|
{
|
|
"value": "full",
|
|
"label": "t:sections.product-template.settings.media_size.options__4.label"
|
|
}
|
|
],
|
|
"default": "medium"
|
|
},
|
|
{
|
|
"type": "checkbox",
|
|
"id": "enable_image_zoom",
|
|
"label": "t:sections.product-template.settings.enable_image_zoom.label",
|
|
"default": true
|
|
},
|
|
{
|
|
"type": "checkbox",
|
|
"id": "enable_video_looping",
|
|
"label": "t:sections.product-template.settings.enable_video_looping.label",
|
|
"default": true
|
|
},
|
|
{
|
|
"type": "checkbox",
|
|
"id": "enable_sticky_gallery_on_desktop",
|
|
"label": "t:sections.product-template.settings.enable_sticky_gallery_on_desktop.label"
|
|
},
|
|
{
|
|
"type": "select",
|
|
"id": "thumbnails_type",
|
|
"label": "t:sections.product-template.settings.thumbnails_type.label",
|
|
"options": [
|
|
{
|
|
"value": "grid",
|
|
"label": "t:sections.product-template.settings.thumbnails_type.options__1.label"
|
|
},
|
|
{
|
|
"value": "carousel",
|
|
"label": "t:sections.product-template.settings.thumbnails_type.options__2.label"
|
|
},
|
|
{
|
|
"value": "none",
|
|
"label": "t:sections.product-template.settings.thumbnails_type.options__3.label"
|
|
}
|
|
],
|
|
"default":"grid"
|
|
},
|
|
{
|
|
"type": "range",
|
|
"id": "thumbnails_size",
|
|
"min": 1,
|
|
"max": 6,
|
|
"step": 1,
|
|
"label": "t:sections.product-template.settings.thumbnails_size.label",
|
|
"default": 4
|
|
}
|
|
],
|
|
"blocks": [
|
|
{
|
|
"type": "@app"
|
|
},
|
|
{
|
|
"type":"liquid_code",
|
|
"name":"t:sections.custom-liquid.name",
|
|
"settings": [
|
|
{
|
|
"id": "liquid",
|
|
"type": "liquid",
|
|
"label": "t:sections.custom-liquid.settings.custom_liquid.label"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"collapsible_tab_desc",
|
|
"name":"t:sections.product-template.blocks.collapsible_tab_desc.name",
|
|
"settings": [
|
|
{
|
|
"id": "heading",
|
|
"type": "text",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab.settings.heading.label",
|
|
"default": "Accordion (description)"
|
|
},
|
|
{
|
|
"id": "expanded_by_default",
|
|
"type": "checkbox",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab_desc.settings.expanded_by_default.label"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"collapsible_tab_page",
|
|
"name":"t:sections.product-template.blocks.collapsible_tab_page.name",
|
|
"settings": [
|
|
{
|
|
"id": "heading",
|
|
"type": "text",
|
|
"info": "t:sections.product-template.blocks.collapsible_tab.settings.heading.info",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab.settings.heading.label",
|
|
"default": "Accordion (page)"
|
|
},
|
|
{
|
|
"id": "page",
|
|
"type": "page",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab.settings.page.label"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"collapsible_tab_liquid",
|
|
"name":"t:sections.product-template.blocks.collapsible_tab_reviews.name",
|
|
"settings": [
|
|
{
|
|
"id": "heading",
|
|
"type": "text",
|
|
"info": "t:sections.product-template.blocks.collapsible_tab.settings.heading.info",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab.settings.heading.label",
|
|
"default": "Accordion (liquid)"
|
|
},
|
|
{
|
|
"id": "content",
|
|
"type": "liquid",
|
|
"label": "t:sections.custom-liquid.settings.custom_liquid.label"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"collapsible_tab_text",
|
|
"name":"t:sections.product-template.blocks.collapsible_tab_text.name",
|
|
"settings": [
|
|
{
|
|
"id": "heading",
|
|
"type": "text",
|
|
"info": "t:sections.product-template.blocks.collapsible_tab.settings.heading.info",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab.settings.heading.label",
|
|
"default": "Accordion (text)"
|
|
},
|
|
{
|
|
"id": "content",
|
|
"type": "richtext",
|
|
"label": "t:sections.product-template.blocks.collapsible_tab.settings.content.label"
|
|
}
|
|
|
|
]
|
|
},
|
|
|
|
{
|
|
"type":"back_in_stock",
|
|
"name":"t:sections.product-template.blocks.back_in_stock.name",
|
|
"settings": []
|
|
},
|
|
{
|
|
"type":"product_buttons",
|
|
"name":"t:sections.product-template.blocks.product_buttons.name",
|
|
|
|
"settings": [
|
|
{
|
|
"type": "checkbox",
|
|
"id": "enable_payment_button",
|
|
"label": "t:sections.product-template.blocks.product_buttons.settings.enable_payment_button.label",
|
|
"info": "t:sections.product-template.blocks.product_buttons.settings.enable_payment_button.info",
|
|
"default": true
|
|
},
|
|
{
|
|
"type": "checkbox",
|
|
"id": "show_gift_card_recipient",
|
|
"label": "t:sections.product-template.blocks.product_buttons.settings.show_gift_card_recipient.label",
|
|
"info": "t:sections.product-template.blocks.product_buttons.settings.show_gift_card_recipient.info",
|
|
"default": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "complementary",
|
|
"name": "t:sections.product-template.blocks.complementary_products.name",
|
|
"limit": 1,
|
|
"settings": [
|
|
{
|
|
"type": "paragraph",
|
|
"content": "t:sections.product-template.blocks.complementary_products.settings.paragraph.content"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"id": "block_heading",
|
|
"default": "Pairs well with",
|
|
"label": "t:sections.product-template.blocks.complementary_products.settings.heading.label"
|
|
},
|
|
{
|
|
"type": "range",
|
|
"id": "product_list_limit",
|
|
"min": 1,
|
|
"max": 10,
|
|
"step": 1,
|
|
"default": 10,
|
|
"label": "t:sections.product-template.blocks.complementary_products.settings.product_list_limit.label"
|
|
},
|
|
{
|
|
"type": "range",
|
|
"id": "products_per_page",
|
|
"min": 1,
|
|
"max": 4,
|
|
"step": 1,
|
|
"default": 3,
|
|
"label": "t:sections.product-template.blocks.complementary_products.settings.products_per_page.label"
|
|
},
|
|
{
|
|
"type": "header",
|
|
"content": "t:sections.product-template.blocks.complementary_products.settings.product_card.heading"
|
|
},
|
|
{
|
|
"type": "checkbox",
|
|
"id": "enable_quick_add",
|
|
"label": "t:sections.product-template.blocks.complementary_products.settings.enable_quick_add.label",
|
|
"default": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"local_pickup",
|
|
"name":"t:sections.product-template.blocks.local_pickup.name",
|
|
"settings": []
|
|
},
|
|
{
|
|
"type": "rating",
|
|
"name": "t:sections.product-template.blocks.rating.name",
|
|
"limit": 1,
|
|
"settings": [
|
|
{
|
|
"type": "paragraph",
|
|
"content": "t:sections.product-template.blocks.rating.settings.paragraph.content"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"form_popup",
|
|
"name":"t:sections.product-template.blocks.form_popup.name",
|
|
"settings": [
|
|
{
|
|
"type":"text",
|
|
"id":"link_title",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.link_title.label",
|
|
"default": "Popup link"
|
|
},
|
|
{
|
|
"type":"checkbox",
|
|
"id":"underline_link_title",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.underline_link_title.label",
|
|
"default":true
|
|
},
|
|
{
|
|
"type":"text",
|
|
"id":"icon",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.icon.label",
|
|
"info": "t:sections.product-template.blocks.form_popup.settings.icon.info"
|
|
},
|
|
{
|
|
"type":"color",
|
|
"id":"link_color",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.link_color.label",
|
|
"default":"#000"
|
|
},
|
|
{
|
|
"type":"select",
|
|
"id":"link_alignment",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.link_alignment.label",
|
|
"options": [
|
|
{
|
|
"value": "left",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.link_alignment.options__1.label"
|
|
},
|
|
{
|
|
"value": "center",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.link_alignment.options__2.label"
|
|
},
|
|
{
|
|
"value": "right",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.link_alignment.options__3.label"
|
|
}
|
|
],
|
|
"default":"left"
|
|
},
|
|
{
|
|
"type":"select",
|
|
"id":"content",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.content.label",
|
|
"options": [
|
|
{
|
|
"value": "image",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.content.options__1.label"
|
|
},
|
|
{
|
|
"value": "page",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.content.options__2.label"
|
|
}
|
|
],
|
|
"default":"image"
|
|
},
|
|
|
|
{
|
|
"type":"image_picker",
|
|
"id":"image",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.image.label"
|
|
},
|
|
{
|
|
"type":"page",
|
|
"id":"page",
|
|
"label": "t:sections.product-template.blocks.form_popup.settings.page.label"
|
|
}
|
|
|
|
]
|
|
},
|
|
{
|
|
"type":"product_price",
|
|
"name":"t:sections.product-template.blocks.product_price.name",
|
|
"settings": []
|
|
},
|
|
{
|
|
"type":"product_title",
|
|
"name":"t:sections.product-template.blocks.product_title.name",
|
|
"settings": []
|
|
},
|
|
{
|
|
"type":"product_description",
|
|
"name":"t:sections.product-template.blocks.product_description.name",
|
|
"settings": [
|
|
|
|
{
|
|
"type": "select",
|
|
"id": "desc_display",
|
|
"label": "t:sections.product-template.blocks.product_description.settings.desc_display.label",
|
|
"options": [
|
|
{
|
|
"value": "default",
|
|
"label": "t:sections.product-template.blocks.product_description.settings.desc_display.options_1.label"
|
|
},
|
|
{
|
|
"value": "full_width",
|
|
"label": "t:sections.product-template.blocks.product_description.settings.desc_display.options_2.label"
|
|
}
|
|
],
|
|
"default": "default"
|
|
}
|
|
]
|
|
},
|
|
|
|
|
|
{
|
|
"type":"product_vendor",
|
|
"name":"t:sections.product-template.blocks.product_vendor.name",
|
|
"settings": []
|
|
},
|
|
|
|
{
|
|
"type":"quantity_block",
|
|
"name":"t:sections.product-template.blocks.quantity_block.name",
|
|
"settings": [
|
|
]
|
|
},
|
|
{
|
|
"type":"sku_block",
|
|
"name":"t:sections.product-template.blocks.sku_block.name",
|
|
"settings": []
|
|
},
|
|
{
|
|
"type":"show_share_buttons",
|
|
"name":"t:sections.product-template.blocks.show_share_buttons.name",
|
|
"settings": []
|
|
},
|
|
{
|
|
"type":"static_tab_desc",
|
|
"name":"t:sections.product-template.blocks.static_tab_desc.name",
|
|
"settings": [
|
|
{
|
|
"id": "tab_title",
|
|
"type": "text",
|
|
"label": "t:sections.product-template.blocks.static_tab.settings.tab_title.label",
|
|
"default": "Decsription"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"static_tab_page",
|
|
"name":"t:sections.product-template.blocks.static_tab_page.name",
|
|
"settings": [
|
|
{
|
|
"id": "tab_title",
|
|
"type": "text",
|
|
"label": "t:sections.product-template.blocks.static_tab.settings.tab_title.label",
|
|
"default": "Title"
|
|
},
|
|
{
|
|
"id": "page",
|
|
"type": "page",
|
|
"label": "t:sections.product-template.blocks.static_tab.settings.page.label"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type":"static_tab_liquid",
|
|
"name":"t:sections.product-template.blocks.static_tab_reviews.name",
|
|
"settings": [
|
|
{
|
|
"id": "tab_title",
|
|
"type": "text",
|
|
"label": "t:sections.product-template.blocks.static_tab.settings.tab_title.label",
|
|
"default": "Liquid"
|
|
},
|
|
{
|
|
"id": "content",
|
|
"type": "liquid",
|
|
"label": "t:sections.custom-liquid.settings.custom_liquid.label"
|
|
}
|
|
|
|
]
|
|
},
|
|
{
|
|
"type":"static_tab_text",
|
|
"name":"t:sections.product-template.blocks.static_tab_text.name",
|
|
"settings": [
|
|
{
|
|
"id": "tab_title",
|
|
"type": "text",
|
|
"label": "t:sections.product-template.blocks.static_tab.settings.tab_title.label",
|
|
"default": "Title"
|
|
},
|
|
{
|
|
"id": "product_tab_content",
|
|
"type": "richtext",
|
|
"label": "t:sections.product-template.blocks.static_tab.settings.product_tab_content.label"
|
|
}
|
|
|
|
]
|
|
},
|
|
|
|
{
|
|
"type":"inventory_qty",
|
|
"name":"t:sections.product-template.blocks.inventory_qty.name",
|
|
"settings": [
|
|
{
|
|
"type": "range",
|
|
"id": "low_inventory_threshold",
|
|
"label": "t:sections.product-template.blocks.inventory_qty.settings.low_inventory_threshold.label",
|
|
"info": "t:sections.product-template.blocks.inventory_qty.settings.low_inventory_threshold.info",
|
|
"min": 0,
|
|
"max": 100,
|
|
"step": 1,
|
|
"default": 0
|
|
}
|
|
]
|
|
},
|
|
|
|
|
|
{
|
|
"type":"image_with_text_blocks",
|
|
"name":"t:sections.product-template.blocks.image_with_text_blocks.name",
|
|
"limit": 1,
|
|
"settings": [
|
|
{
|
|
"type":"color",
|
|
"id":"icon_color",
|
|
"label": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon_color.label",
|
|
"default":"#000"
|
|
},
|
|
{
|
|
"type": "header",
|
|
"content": "t:sections.product-template.blocks.image_with_text_blocks.content_1"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"id": "icon_1",
|
|
"label": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon.label",
|
|
"info": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon.info",
|
|
"default": "star"
|
|
},
|
|
|
|
{
|
|
"type":"image_picker",
|
|
"id":"image_1",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.image.label_1"
|
|
},
|
|
{
|
|
"type":"text",
|
|
"id":"text_1",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.text.label_1"
|
|
},
|
|
{
|
|
"type":"url",
|
|
"id":"link_1",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.link.label_1"
|
|
},
|
|
{
|
|
"type": "header",
|
|
"content": "t:sections.product-template.blocks.image_with_text_blocks.content_2"
|
|
},
|
|
{
|
|
"type":"checkbox",
|
|
"id":"show_block_2",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.show_block.label"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"id": "icon_2",
|
|
"label": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon.label",
|
|
"info": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon.info",
|
|
"default": "star"
|
|
},
|
|
{
|
|
"type":"image_picker",
|
|
"id":"image_2",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.image.label_2"
|
|
},
|
|
{
|
|
"type":"text",
|
|
"id":"text_2",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.text.label_2"
|
|
},
|
|
{
|
|
"type":"url",
|
|
"id":"link_2",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.link.label_2"
|
|
},
|
|
{
|
|
"type": "header",
|
|
"content": "t:sections.product-template.blocks.image_with_text_blocks.content_3"
|
|
},
|
|
{
|
|
"type":"checkbox",
|
|
"id":"show_block_3",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.show_block.label"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"id": "icon_3",
|
|
"label": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon.label",
|
|
"info": "t:sections.product-template.blocks.image_with_text_blocks.settings.icon.info",
|
|
|
|
"default": "star"
|
|
},
|
|
|
|
{
|
|
"type":"image_picker",
|
|
"id":"image_3",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.image.label_3"
|
|
},
|
|
{
|
|
"type":"text",
|
|
"id":"text_3",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.text.label_3"
|
|
},
|
|
{
|
|
"type":"url",
|
|
"id":"link_3",
|
|
"label":"t:sections.product-template.blocks.image_with_text_blocks.settings.link.label_3"
|
|
}
|
|
|
|
]
|
|
},
|
|
{
|
|
"type":"product_options_block",
|
|
"name":"t:sections.product-template.blocks.product_options_block.name",
|
|
"settings": [
|
|
{
|
|
"type":"checkbox",
|
|
"id":"show_product_swatches",
|
|
"label":"t:sections.product-template.blocks.product_options_block.settings.show_product_swatches.label",
|
|
"info":"t:sections.product-template.blocks.product_options_block.settings.show_product_swatches.info",
|
|
"default": true
|
|
},
|
|
{
|
|
"type":"checkbox",
|
|
"id":"use_variant_image_for_swatches",
|
|
"label":"t:sections.product-template.blocks.product_options_block.settings.use_variant_image_for_swatches.label",
|
|
"default": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "product_variations",
|
|
"name": "t:sections.product-template.blocks.product_variations.name",
|
|
"settings": [
|
|
{
|
|
"type": "paragraph",
|
|
"content": "t:sections.product-template.blocks.product_variations.instructions"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"id": "option_name",
|
|
"label": "t:sections.product-template.blocks.product_variations.option_name",
|
|
"placeholder": "t:sections.product-template.blocks.product_variations.option_name_placeholder"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"id": "option_value_metafield",
|
|
"label": "t:sections.product-template.blocks.product_variations.option_value_metafield",
|
|
"info": "t:sections.product-template.blocks.product_variations.option_value_metafield_info"
|
|
},
|
|
{
|
|
"type": "product_list",
|
|
"id": "products",
|
|
"label": "t:sections.product-template.blocks.product_variations.product_list",
|
|
"info": "t:sections.product-template.blocks.product_variations.product_list_info"
|
|
},
|
|
{
|
|
"type": "select",
|
|
"id": "color_selector_type",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_type",
|
|
"info": "t:sections.product-template.blocks.product_variations.color_selector_type_info",
|
|
"options": [
|
|
{
|
|
"value": "block",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_type_options.block"
|
|
},
|
|
{
|
|
"value": "dropdown",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_type_options.dropdown"
|
|
},
|
|
{
|
|
"value": "color",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_type_options.color_swatch"
|
|
},
|
|
{
|
|
"value": "variant",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_type_options.variant_image"
|
|
}
|
|
],
|
|
"default": "color"
|
|
},
|
|
{
|
|
"type": "select",
|
|
"id": "color_selector_size",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_size",
|
|
"info": "t:sections.product-template.blocks.product_variations.color_selector_size_info",
|
|
"options": [
|
|
{
|
|
"value": "small",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_size_options.small"
|
|
},
|
|
{
|
|
"value": "medium",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_size_options.medium"
|
|
},
|
|
{
|
|
"value": "large",
|
|
"label": "t:sections.product-template.blocks.product_variations.color_selector_size_options.large"
|
|
}
|
|
],
|
|
"default": "small"
|
|
},
|
|
{
|
|
"type": "checkbox",
|
|
"id": "show_tooltip",
|
|
"label": "t:sections.product-template.blocks.product_variations.show_tooltip",
|
|
"info": "t:sections.product-template.blocks.product_variations.show_tooltip_info"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
{% endschema %}
|