first commit

This commit is contained in:
Axel
2026-06-25 15:54:57 +08:00
commit a5a4c7befb
2 changed files with 124 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
.yagi-price-container{display: flex; gap: 1.5em; align-items: center;} .yagi-price-container .price__sale { display: flex; flex-direction: row !important; justify-content: flex-end; gap: 0.75em; align-items: center;} .yagi-discounted-price { font-size: 1.25rem; font-weight: 600;} .yagi-original-price { font-size: 1.25rem; opacity: 0.4; font-weight: 600;} .yagi-sale-badge { font-size: 10px; padding: 0px 7px; font-weight: 700; color: rgb(255, 255, 255); background-color: rgb(255, 189, 89); border-radius: 3px; }
+123
View File
@@ -0,0 +1,123 @@
{% comment %}
Renders a list of product's price (regular, sale)
Accepts:
- product: {Object} Product Liquid object (optional)
- use_variant: {Boolean} Renders selected or first variant price instead of overall product pricing (optional)
- price_class: {String} Adds a price class to the price element (optional)
Usage:
{% render 'price', product: product %}
{% endcomment %}
{%- liquid
if use_variant
assign target = product.selected_or_first_available_variant
else
assign target = product
endif
assign compare_at_price = target.compare_at_price
assign price = target.price | default: 1999
assign available = target.available | default: false
comment
start Yagi app code
endcomment
if use_variant
assign price = target.metafields.app--168074346497.auto_discounted_price.value | default: target.price
if target.metafields.app--168074346497.discount_type.value != nil and target.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 target.metafields.app--168074346497.discount_percentage.value > 0.01
assign deducted_percentage = 1.0 | minus: target.metafields.app--168074346497.discount_percentage.value
endif
assign price = target.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil
assign compare_at_price = target.price
if target.compare_at_price > compare_at_price
assign compare_at_price = target.compare_at_price
endif
endif
if price < target.price and compare_at_price == blank
assign compare_at_price = target.price
endif
else
assign 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 price = product.price | divided_by: 100.0 | times: deducted_percentage | times: 100.0 | ceil
assign compare_at_price = product.price
if product.compare_at_price > compare_at_price
assign compare_at_price = product.compare_at_price
endif
endif
if price < product.price and compare_at_price == blank
assign compare_at_price = product.price
endif
endif
comment
end Yagi app code
endcomment
assign money_price = price | money
if settings.currency_code_enabled
assign money_price = price | money_with_currency
endif
if target == product and product.price_varies
assign money_price = 'products.product.price.from_price_html' | t: price: money_price
endif
-%}
<span class="price">
{%- unless product.price_varies == false and product.compare_at_price_varies %}
{% if compare_at_price != null and compare_at_price != 0 and price != compare_at_price %}
<del>
<span class="amount">
{% if settings.currency_code_enabled %}
{{ compare_at_price | money_with_currency }}
{% else %}
{{ compare_at_price | money }}
{% endif %}
</span>
</del>
{% endif %}
{%- endunless -%}
<ins><span class="amount">{{ money_price }}</span></ins>
<small class="unit-price {% if product.selected_or_first_available_variant.unit_price_measurement == nil %} hidden{% endif %}">
<span>{{- product.selected_or_first_available_variant.unit_price | money -}}</span>
<span class="unit-price-separator">/</span>
<span>
{%- if product.selected_or_first_available_variant.unit_price_measurement.reference_value != 1 -%}
{{- product.selected_or_first_available_variant.unit_price_measurement.reference_value -}}
{%- endif -%}
{{ product.selected_or_first_available_variant.unit_price_measurement.reference_unit }}
</span>
</small>
{%- if show_badges -%}
<span class="badges">
{%- if compare_at_price > price %}
<span class="badge onsale">
{{ 'products.product.on_sale' | t }}
</span>
{% endif %}
{%- if available == false -%}
<span class="badge out-of-stock">
{{ 'products.product.sold_out' | t }}
</span>
{% endif %}
{%- if product.metafields.theme.preorder and product.available -%}
<span class="badge pre-order">
{{ 'products.product.pre_order' | t }}
</span>
{%- endif -%}
</span>
{% endif %}
</span>