{%- comment -%} Renders a list of product's price (regular, sale) Accepts: - product: {Object} Product Liquid object (optional) - use_variant: {Boolean} Renders selected or first variant price instead of overall product pricing (optional) - show_badges: {Boolean} Renders 'Sale' and 'Sold Out' tags if the product matches the condition (optional) - price_class: {String} Adds a price class to the price element (optional) Usage: {% render 'price', product: product %} {%- endcomment -%} {%- liquid if use_variant assign target = product.selected_or_first_available_variant else assign target = product endif assign compare_at_price = target.compare_at_price assign price = target.price | default: 1999 comment [Yagi Automatic Discount Helper] start - overrride the price if there is auto discount applied from the app endcomment if use_variant assign auto_discounted_price = target.metafields.app--168074346497.auto_discounted_price.value | default: target.price else assign auto_discounted_price = target.metafields.app--168074346497.min_auto_discounted_price.value | default: target.price endif if auto_discounted_price < price assign price = auto_discounted_price assign compare_at_price = target.price endif comment [Yagi Automatic Discount Helper] end - overrride the price if there is auto discount applied from the app endcomment assign available = target.available | default: false if settings.currency_format_enable assign money_price = price | money_with_currency else assign money_price = price | money endif if target == product and product.price_varies assign money_price = 'products.product.price.from_price_html' | t: price: money_price endif -%}
{%- comment -%} Explanation of description list: - div.price__regular: Displayed when there are no variants on sale - div.price__sale: Displayed when a variant is a sale - div.price__availability: Displayed when the product is sold out {%- endcomment -%}
{%- comment -%}
{{ 'products.product.price.regular_price' | t }}
{%- endcomment -%}
{{ money_price }}
{%- comment -%}
{{ 'products.product.price.regular_price' | t }}
{%- endcomment -%}
{% if settings.currency_format_enable %}{{ compare_at_price | money_with_currency }}{% else %}{{ compare_at_price | money }}{% endif %}
{%- comment -%}
{{ 'products.product.price.sale_price' | t }}
{%- endcomment -%}
{{ money_price }}
{%- if settings.show_saved_price and price != nil and price != blank and compare_at_price != nil and compare_at_price != blank -%} {%- assign saved_price = compare_at_price | minus: price | money -%}
{{'products.product.price.saved_price_html' | t: price: saved_price }}
{%- endif -%} {%- if hasCountdown == true or hasCountdown == 'true' -%}
{%- liquid assign list_compare = product.variants | where: 'compare_at_price' assign compare = 0 for variant in list_compare assign saving = variant.compare_at_price | minus: variant.price | times: 100.0 | divided_by: variant.compare_at_price | round if saving > compare assign compare = saving endif endfor if compare < 1 assign compare = product.compare_at_price_min | minus: product.price_min | times: 100.0 | divided_by: product.compare_at_price_min | round endif -%}-{{ compare | append: '%'}}
{%- endif -%}
{{ 'products.product.price.unit_price' | t }}
{{- product.selected_or_first_available_variant.unit_price | money -}} {{ 'accessibility.unit_price_separator' | t }} {%- if product.selected_or_first_available_variant.unit_price_measurement.reference_value != 1 -%} {{- product.selected_or_first_available_variant.unit_price_measurement.reference_value -}}{%- endif -%} {{ product.selected_or_first_available_variant.unit_price_measurement.reference_unit }}