Files
Symmetry/snippets/product-label-detail.liquid

108 lines
4.0 KiB
Plaintext
Raw Normal View History

2026-01-16 05:00:30 +08:00
{%- capture all_variants_label_html -%}
{%- if product.metafields.theme.label != blank -%}
<span class="product-label product-label--meta">
<span>{{ product.metafields.theme.label | escape }}</span>
</span>
{%- endif -%}
{%- liquid
if settings.prod_new_show
if settings.prod_new_method == 'date'
assign now_s = 'now' | date: '%s' | plus: 0
assign pub_s = product.created_at | date: '%s' | plus: 0
assign diff_days = now_s | minus: pub_s | divided_by: 86400
if diff_days < settings.prod_new_limit_int
assign new_label_text = 'products.product.new' | t
endif
elsif settings.prod_new_method == 'tag'
if product.tags contains 'New' or product.tags contains 'new'
assign new_label_text = 'products.product.new' | t
endif
else
for collection in product.collections
assign split_collection_handle = collection.handle | split: '-'
if split_collection_handle contains 'new'
assign new_label_text = 'products.product.new' | t
break
endif
endfor
endif
endif
-%}
{%- if new_label_text -%}
<span class="product-label product-label--new-in">
<span>{{ new_label_text }}</span>
</span>
{%- endif -%}
{%- endcapture -%}
<variant-content class="product-label-list">
{%- for variant in product.variants -%}
<script type="text/template" data-variant="{{ variant.id }}">
{%- capture label_html -%}
{{- all_variants_label_html -}}
{%- liquid
if variant.metafields.app--168074346497.discount_type.value != nil and variant.metafields.app--168074346497.discount_type.value != "fixed"
assign deducted_percentage = 1.0 | minus: product.metafields.app--168074346497.discount_percentage.value
if variant.metafields.app--168074346497.discount_percentage.value > 0.01
assign deducted_percentage = 1.0 | minus: variant.metafields.app--168074346497.discount_percentage.value
endif
assign variant_price = variant.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil
assign variant_compare_at_price = variant.price
if variant.compare_at_price > variant_compare_at_price
assign variant_compare_at_price = variant.compare_at_price
endif
endif
assign sale_label_text = false
if settings.prod_reduction_show and variant_compare_at_price > variant_price
if settings.prod_reduction_type == 'percent'
assign amount = 1.0 | times: variant_price | divided_by: variant_compare_at_price
assign amount = 1.0 | minus: amount
assign amount = amount | times: 100.0 | round
assign sale_label_text = 'products.product.percent_reduction' | t: amount: amount
else
assign amount = variant_compare_at_price | minus: variant_price | money
assign sale_label_text = 'products.product.value_reduction_html' | t: amount: amount
endif
endif
-%}
{%- if sale_label_text -%}
<span class="product-label product-label--sale">
<span>{{ sale_label_text }}</span>
</span>
{%- endif -%}
{%- endcapture -%}
{%- if label_html != blank -%}
<div class="product-label-container">
{{- label_html -}}
</div>
{%- endif -%}
</script>
{%- if current_variant and variant.id == current_variant.id and label_html -%}
<div class="product-label-container">
{{- label_html -}}
</div>
{%- endif -%}
{%- endfor -%}
{%- if current_variant == false and all_variants_label_html != blank -%}
<script type="text/template" data-variant="">
<div class="product-label-container">
{{- all_variants_label_html -}}
</div>
</script>
<div class="product-label-container">
{{- all_variants_label_html -}}
</div>
{%- endif -%}
</variant-content>