Add discount price calculation
This commit is contained in:
@@ -123,7 +123,19 @@ Supported variables
|
|||||||
|
|
||||||
{%- if show_prices and product.template_suffix != 'quote' -%}
|
{%- if show_prices and product.template_suffix != 'quote' -%}
|
||||||
<div class="product-price">
|
<div class="product-price">
|
||||||
{{ product.selected_or_first_available_variant.price | money }}
|
{% assign v = product.selected_or_first_available_variant %}
|
||||||
|
{% assign variant_price = product.selected_or_first_available_variant.price %}
|
||||||
|
{% if v.metafields.app--168074346497.discount_type.value != nil and v.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 v.metafields.app--168074346497.discount_percentage.value > 0.01 %}
|
||||||
|
{% assign deducted_percentage = 1.0 | minus: v.metafields.app--168074346497.discount_percentage.value %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign variant_price = v.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ variant_price | money }}
|
||||||
</div>
|
</div>
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
</div>
|
</div>
|
||||||
@@ -277,11 +289,16 @@ Supported variables
|
|||||||
// Update hidden input with the correct variant ID
|
// Update hidden input with the correct variant ID
|
||||||
$('#selected-variant-id-{{ product.id }}').val(selectedVariant.id);
|
$('#selected-variant-id-{{ product.id }}').val(selectedVariant.id);
|
||||||
|
|
||||||
|
{% assign deducted_percentage = 1.0 %}
|
||||||
|
{% if product.metafields.app--168074346497.discount_percentage.value > 0.01 %}
|
||||||
|
{% assign deducted_percentage = 1.0 | minus: product.metafields.app--168074346497.discount_percentage.value %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
// Update displayed price
|
// Update displayed price
|
||||||
let locale = Shopify.locale;
|
let locale = Shopify.locale;
|
||||||
let currency = Shopify.currency.active;
|
let currency = Shopify.currency.active;
|
||||||
let country = Shopify.country;
|
let country = Shopify.country;
|
||||||
let amount = new Intl.NumberFormat(`${locale}-${country}`, { style: "currency", currency: currency }).format(selectedVariant.price / 100 );
|
let amount = new Intl.NumberFormat(`${locale}-${country}`, { style: "currency", currency: currency }).format(selectedVariant.price / 100 * {{ deducted_percentage }});
|
||||||
$(this).find('.product-price').text(amount);
|
$(this).find('.product-price').text(amount);
|
||||||
} else {
|
} else {
|
||||||
console.log('No matching variant found for the selected options.');
|
console.log('No matching variant found for the selected options.');
|
||||||
|
Reference in New Issue
Block a user