Add discount price calculation
This commit is contained in:
@@ -123,7 +123,19 @@ Supported variables
|
||||
|
||||
{%- if show_prices and product.template_suffix != 'quote' -%}
|
||||
<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>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
@@ -277,11 +289,16 @@ Supported variables
|
||||
// Update hidden input with the correct variant 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
|
||||
let locale = Shopify.locale;
|
||||
let currency = Shopify.currency.active;
|
||||
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);
|
||||
} else {
|
||||
console.log('No matching variant found for the selected options.');
|
||||
|
Reference in New Issue
Block a user