first commit
This commit is contained in:
@@ -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; }
|
||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user