Kogusereeglite ja mahupõhise hinnakujunduse kuvamine poes
Saad poes kuvada B2B-kataloogi kogusereegleid ja mahupõhist hinnakujundust, uuendades poe teema uusimale versioonile.
Kui sa ei soovi oma teemat muuta ega uuendada, saad lisada kogusereeglite ja mahupõhise hinnakujunduse kuvamiseks teemasse järgmise koodi.
Sellel lehel
Mida arvestada kogusereeglite ja mahupõhise hinnakujunduse lisamisel teema koodi
Enne kogusereeglite ja mahupõhise hinnakujunduse lisamist teema koodi tutvu järgmisega:
- See on edasijõudnutele mõeldud õpetus. Kui teema koodi lugemine ja muutmine pole sulle tuttav, saad teha koostööd arendajaga või palgata Shopify partneri.
- Enne teemafailide uuendamist dubljeeri oma teema, et luua varukoopia.
- B2B-kataloogi kogusereegleid toetatakse tasuta Shopify teemades alates versioonist 8.0.0. Mahupõhist hinnakujundust toetatakse alates versioonist 11.0.0.
Toote kogus ostukorvis
Toote variandi ostukorvi koguse väärtust saab kuvada tootelehel või esiletõstetud toote jaotises. Väärtuse toomiseks saab kasutada keelt Liquid.
Ostukorvis oleva toote koguse Liquid-koodi lisamine
Saad lisada ostukorvi koguse toetamiseks koodi järgmistesse teemafailidesse:
main-product.liquidvõi sarnanefeatured-product.liquidvõi sarnane
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail, mida soovid muuta.
Loo faili lõppu uus rida ja lisa järgmine kood:
{% comment %} Cart quantity {% endcomment %}
<span id="CartQuantity-{{ section.id }}" data-product-url="{{ product.url }}" data-section-id="{{ section.id }}" data-variant-id="{{ product.selected_or_first_available_variant.id }}">
{{ cart | line_items_for: product | sum: 'quantity' }}
{{- 'products.product.quantity.in_cart' | t: quantity: cart_qty -}}
</span>- Klõpsa nuppu Salvesta.
Ostukorvi koguse JavaScripti koodi lisamine
Kui variandi ostukorvi kogus muutub, tuleb tootelehel või esiletõstetud toote jaotises kuvatavat väärtust uuendada. Uuendatud väärtuse toomiseks saab kasutada JavaScripti koodi.
Koodi saab lisada faili theme.js või sarnasesse.
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail
theme.js.Loo faili lõppu uus rida ja lisa järgmine kood:
let productUrl =
document.querySelector('[data-product-url]').dataset.productUrl;
let sectionId = document.querySelector('[data-section-id]').dataset.sectionId;
let variantId = document.querySelector('[data-variant-id]').dataset.variantId;
// Fetch updated HTML from Section Rendering API
fetch(`${productUrl}?section_id=${sectionId}&variant=${variantId}`)
.then((response) => response.text())
.then((responseText) => {
// Replace the current HTML in DOM with the updated HTML
const updatedHtml = new DOMParser().parseFromString(
responseText,
'text/html',
);
// Update the cart quantity
const currentCartQuantity = document.querySelector(
`#CartQuantity-${sectionId}`,
);
const updatedCartQuantity = updatedHtml.querySelector(
`#CartQuantity-${sectionId}`,
);
currentCartQuantity.innerHTML = updatedCartQuantity.innerHTML;
});- Klõpsa nuppu Salvesta.
Kogusereeglid
Toote variandi kogusereegleid saab kuvada tootelehel või esiletõstetud toote jaotises. Reeglite toomiseks saab kasutada keelt Liquid.
Kogusereeglite Liquid-koodi lisamine
Saad lisada kogusereeglite toetamiseks koodi järgmistesse teemafailidesse:
main-product.liquidvõi sarnanefeatured-product.liquidvõi sarnane
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail, mida soovid muuta.
Loo faili lõppu uus rida ja lisa järgmine kood:
{% comment %} Quantity rules {% endcomment %}
<div id="QuantityRules-{{ section.id }}" data-product-url="{{ product.url }}" data-section-id="{{ section.id }}" data-variant-id="{{ product.selected_or_first_available_variant.id }}">
{%- if product.selected_or_first_available_variant.quantity_rule.increment > 1 -%}
<span>
{{- 'products.product.quantity.multiples_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.increment -}}
</span>
{%- endif -%}
{%- if product.selected_or_first_available_variant.quantity_rule.min > 1 -%}
<span>
-
{{- 'products.product.quantity.minimum_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.min -}}
</span>
{%- endif -%}
{%- if product.selected_or_first_available_variant.quantity_rule.max != null -%}
<span>
-
{{- 'products.product.quantity.maximum_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.max -}}
</span>
{%- endif -%}
</div>- Klõpsa nuppu Salvesta.
Kogusereeglite JavaScripti koodi lisamine
Igal toote variandil võivad olla omad kogusereeglid. Pärast teise variandi valimist tuleb tootelehel või esiletõstetud toote jaotises kuvatavaid kogusereegleid uuendada. Uuendatud väärtuse toomiseks saab kasutada JavaScripti koodi.
theme.jsvõi sarnaneen.default.json
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail
theme.js.Loo faili lõppu uus rida ja lisa järgmine kood:
let productUrl =
document.querySelector('[data-product-url]').dataset.productUrl;
let sectionId = document.querySelector('[data-section-id]').dataset.sectionId;
let variantId = document.querySelector('[data-variant-id]').dataset.variantId;
// `variantId` is set to the current variant's id. Replace this value with the updated variant's id
// Fetch updated HTML from Section Rendering API
fetch(`${productUrl}?section_id=${sectionId}&variant=${variantId}`)
.then((response) => response.text())
.then((responseText) => {
// Replace the current HTML in DOM with the updated HTML
const updatedHtml = new DOMParser().parseFromString(
responseText,
'text/html',
);
// Update the quantity rules
const currentQuantityRules = document.querySelector(
`#QuantityRules-${sectionId}`,
);
const updatedQuantityRules = updatedHtml.querySelector(
`#QuantityRules-${sectionId}`,
);
currentQuantityRules.innerHTML = updatedQuantityRules.innerHTML;
});- Klõpsa nuppu Salvesta.
Mahupõhine hinnakujundus
Mahupõhise hinnakujunduse Liquid-koodi lisamine
Saad lisada mahupõhise hinnakujunduse kuvamiseks koodi järgmistesse teemafailidesse:
main-product.liquidvõi sarnanefeatured-product.liquidvõi sarnane
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail, mida soovid muuta.
Loo faili lõppu uus rida ja lisa järgmine kood:
{%- if product.quantity_price_breaks_configured? -%}
<div class="volume-pricing-note">
<span>{{ 'products.product.volume_pricing.note' | t }}</span>
</div>
<volume-pricing class="parent-display" id="Volume-{{ section.id }}">
{%- if product.selected_or_first_available_variant.quantity_price_breaks.size > 0 -%}
<span class="caption-large">{{ 'products.product.volume_pricing.title' | t }}</span>
<ul class="list-unstyled no-js-hidden">
<li>
<span>{{ product.selected_or_first_available_variant.quantity_rule.min }}+</span>
{%- assign price = product.selected_or_first_available_variant.price
| money_with_currency
-%}
<span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: variant_price }}">
{{ 'sections.quick_order_list.each' | t: money: price -}}
</span>
</li>
{%- for price_break in product.selected_or_first_available_variant.quantity_price_breaks -%}
{%- assign price_break_price = price_break.price | money_with_currency -%}
<li class="{%- if forloop.index >= 3 -%}show-more-item hidden{%- endif -%}">
<span>
{{- price_break.minimum_quantity -}}
<span aria-hidden="true">+</span></span
>
{%- assign price = price_break.price | money_with_currency -%}
<span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: price_break_price }}">
{{ 'sections.quick_order_list.each' | t: money: price -}}
</span>
</li>
{%- endfor -%}
</ul>
{%- if product.selected_or_first_available_variant.quantity_price_breaks.size >= 3 -%}
<show-more-button>
<button
class="button-show-more link underlined-link no-js-hidden"
id="Show-More-{{ section.id }}"
type="button"
>
<span class="label-show-more label-text"
><span aria-hidden="true">+ </span>{{ 'products.facets.show_more' | t }}
</span>
</button>
</show-more-button>
{%- endif -%}
{%- endif -%}
</volume-pricing>
{%- endif -%}- Klõpsa nuppu Salvesta.
Mahupõhise hinnakujunduse JavaScripti koodi lisamine
Saad lisada mahupõhise hinnakujunduse kuvamiseks koodi järgmisesse teemafaili:
theme.js
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail
theme.js.Loo faili lõppu uus rida ja lisa järgmine kood:
if (!customElements.get('show-more-button')) {
customElements.define(
'show-more-button',
class ShowMoreButton extends HTMLElement {
constructor() {
super();
const button = this.querySelector('button');
button.addEventListener('click', (event) => {
this.expandShowMore(event);
const nextElementToFocus = event.target
.closest('.parent-display')
.querySelector('.show-more-item');
if (
nextElementToFocus &&
!nextElementToFocus.classList.contains('hidden') &&
nextElementToFocus.querySelector('input')
) {
nextElementToFocus.querySelector('input').focus();
}
});
}
expandShowMore(event) {
const parentDisplay = event.target
.closest('[id^="Show-More-"]')
.closest('.parent-display');
const parentWrap = parentDisplay.querySelector('.parent-wrap');
this.querySelectorAll('.label-text').forEach((element) =>
element.classList.toggle('hidden'),
);
parentDisplay
.querySelectorAll('.show-more-item')
.forEach((item) => item.classList.toggle('hidden'));
if (!this.querySelector('.label-show-less')) {
this.classList.add('hidden');
}
}
},
);
}- Klõpsa nuppu Salvesta.
Lokaatide lisamine
Et kogusereegleid ja mahupõhist hinnakujundust kuvataks sinu e-poe kõigis tõlgitud versioonides, saad lisada lokaate, lisades faili en.default.json järgmised JSON-i tõlkesõned.
Sammud:
Ava oma Shopify administraatoris Veebipood.
Otsi üles teema, mida soovid muuta, klõpsa toimingute menüü avamiseks nuppu
ja seejärel valikut Muuda koodi.
Ava fail
en.default.json.Loo faili lõppu uus rida ja lisa järgmine kood:
"products": {
"product": {
"volume_pricing": {
"title": "Volume Pricing",
"note": "Volume pricing available",
"price_at_each": "at /ea"
}
"facets": {
"show_more": "Show more"
}
}
}- Klõpsa nuppu Salvesta.