Hi there, I was using this code to display my product discount badge but the code was able to run on span but unable on using assign. Since I want to display the percentage like the second image.
{% if product.compare_at_price >= 0 and product.compare_at_price != null %}
Save
{% assign saving = variant.compare_at_price | minus: variant.price | times: 100 | divided_by: variant.compare_at_price %}
{% assign percentage = saving | at_least: percentage %}
{% endif %}
Hi @Boonphei ,
Try this code instead.
{% if product.compare_at_price >= 0 and product.compare_at_price != null %}
Save
{{ product.compare_at_price_max | minus:product.price | times:100 | divided_by:product.compare_at_price_max | json }}%
{% assign saving = variant.compare_at_price | minus: variant.price | times: 100 | divided_by: variant.compare_at_price %}
{% assign percentage = saving | at_least: percentage %}
{% endif %}
Hi @made4Uo ,
it was unable to display the percentage too. Since the fourth row of this code have the wrong formula so I want to remove it.
Oh. Got it. You just have to add the forloop for variants. Try this
{% if product.compare_at_price >= 0 and product.compare_at_price != null %}
{% assign percentage = 0 %}
{% for variant in product.variants %}
{% assign saving = variant.compare_at_price | minus: variant.price | times: 100 | divided_by: variant.compare_at_price | round %}
{% assign percentage = saving | at_least: percentage %}
{% endfor %}
Save
{{ percentage | append: "%" }}
{% endif %}