diff --git a/snippets/product-grid-item.liquid b/snippets/product-grid-item.liquid index 8f37078..34d9e25 100644 --- a/snippets/product-grid-item.liquid +++ b/snippets/product-grid-item.liquid @@ -15,7 +15,7 @@ {%- endcomment -%} {%- liquid - assign columns = columns | default: settings.products_per_row_on_desktop | plus: 0 + assign columns = settings.products_per_row_on_desktop | plus: 0 assign columns_mobile = columns_mobile | default: settings.products_per_row_on_mobile | plus: 0 assign counter_even = mobile_counter | modulo: 2 @@ -70,24 +70,47 @@ assign custom_badge_metafield = true assign custom_badge_metafield_text = product.metafields.theme.badge.value endif - - assign product_price = product.metafields.app--168074346497.min_auto_discounted_price.value | default: product.price + + # start Yagi app code + assign active_discount = true + + assign product_price = product.price assign product_compare_at_price = product.compare_at_price - if product_price < product.price and product_compare_at_price == 0 or product_compare_at_price == blank - assign product_compare_at_price = product.price + assign empty_array = "" | split: "" + assign dormant_discounts = shop.metafields.app--168074346497.dormant_discounts.value | default: empty_array + assign target_discount_id = product.metafields.app--168074346497.applied_discount_id.value + for dormant_discount in dormant_discounts + if dormant_discount == target_discount_id + assign active_discount = false + endif + endfor + + if active_discount + assign product_price = product.metafields.app--168074346497.min_auto_discounted_price.value | default: product.price + + if product.metafields.app--168074346497.discount_percentage.value > 0.01 + assign deducted_percentage = 1.0 | minus: product.metafields.app--168074346497.discount_percentage.value + + assign product_price = product.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil + + assign product_compare_at_price = product.price + + if product.compare_at_price > product_compare_at_price + assign product_compare_at_price = product.compare_at_price + endif + endif + + if product_price < product.price and product_compare_at_price == blank + assign product_compare_at_price = product.price + endif endif + # end Yagi app code if product_compare_at_price > product_price assign on_sale = true endif - assign money_product_price = product_price | money - - if settings.currency_code_enable - assign money_product_price = product_price | money_with_currency - endif - unless product.available assign sold_out = true endunless @@ -150,34 +173,33 @@ {%- capture product_title -%} 1 %} tabindex="-1"{% endif %} data-grid-link> - {{- product.title | strip_html | escape -}} +

{{- product.title | strip_html | escape -}}

- -
- {{ product.metafields.judgeme.badge }} -
- + +
+ {%- endcapture -%} {%- capture info_separator -%} {%- endcapture -%} + + + + {%- capture product_info_price -%} 1 %} tabindex="-1"{% endif %} data-grid-link> {%- liquid - # product.price is equivalent to product.price_min - assign raw_product_price = product.metafields.app--168074346497.min_auto_discounted_price | default: product.price - - if product.price == 0 and product.price_varies == false + if product_price == 0 and product.price_varies == false assign product_price = 'products.product.free' | t assign product_price_min = 'products.product.free' | t elsif currency_code_enable - assign product_price = raw_product_price | money_with_currency - assign product_price_min = raw_product_price | money_with_currency + assign product_price = product_price | money_with_currency + assign product_price_min = product_price | money_with_currency else - assign product_price = raw_product_price | money - assign product_price_min = raw_product_price | money + assign product_price = product_price | money + assign product_price_min = product_price | money endif -%} @@ -185,7 +207,7 @@ {{- 'products.general.from_text_html' | t: price: product_price_min -}} {%- else -%} {%- if on_sale -%} - {{ money_product_price }} + {{ product_price }} {%- if currency_code_enable -%} @@ -219,9 +241,16 @@