Zobrazenie pravidiel pre množstvo a množstevných cien v obchode
Pravidlá pre množstvo a množstevné ceny pre B2B katalóg môžete vo svojom obchode zobraziť aktualizáciou témy obchodu na najnovšiu verziu.
Ak svoju tému nechcete meniť ani aktualizovať, na zobrazenie pravidiel pre množstvo a množstevných cien môžete do témy pridať nasledujúci kód.
Na tejto stránke
Čo treba zvážiť pri pridávaní pravidiel pre množstvo a množstevných cien do kódu témy
Pred pridaním pravidiel pre množstvo a množstevných cien do kódu témy zvážte nasledujúce skutočnosti:
- Toto je pokročilý tutoriál. Ak vám čítanie a úprava kódu témy robí problémy, môžete spolupracovať s vývojárom alebo si najať partnera Shopify.
- Pred úpravou súborov témy si duplikujte tému, čím vytvoríte jej záložnú kópiu.
- Pravidlá pre množstvo pre B2B katalóg sú podporované v bezplatných témach Shopify verzie 8.0.0 alebo novšej. Množstevné ceny sú podporované vo verzii 11.0.0 alebo novšej.
Množstvo produktu v košíku
Množstvo variantu produktu v košíku sa môže zobraziť na stránke produktu alebo v sekcii odporúčaných produktov. Túto hodnotu možno načítať pomocou jazyka Liquid.
Pridať kód Liquid pre množstvo produktu v košíku
Kód na podporu množstva v košíku môžete pridať do nasledujúcich súborov vo svojej téme:
main-product.liquidalebo ekvivalentný súborfeatured-product.liquidalebo ekvivalentný súbor
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor, ktorý chcete upraviť.
Na koniec súboru pridajte nový riadok a vložte nasledujúci kód:
{% 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>- Kliknite na Uložiť.
Pridať kód JavaScript pre množstvo v košíku
Pri zmene množstva variantu v košíku sa musí aktualizovať hodnota zobrazená na stránke produktu alebo v sekcii odporúčaných produktov. Aktualizovanú hodnotu možno načítať pomocou kódu JavaScript.
Kód môžete pridať do súboru theme.js alebo jeho ekvivalentu.
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor
theme.js.Na koniec súboru pridajte nový riadok a vložte nasledujúci kód:
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;
});- Kliknite na Uložiť.
Pravidlá pre množstvo
Pravidlá pre množstvo variantu produktu sa môžu zobraziť na stránke produktu alebo v sekcii odporúčaných produktov. Tieto pravidlá možno načítať pomocou jazyka Liquid.
Pridať kód Liquid pre pravidlá pre množstvo
Kód na podporu pravidiel pre množstvo môžete pridať do nasledujúcich súborov vo svojej téme:
main-product.liquidalebo ekvivalentný súborfeatured-product.liquidalebo ekvivalentný súbor
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor, ktorý chcete upraviť.
Na koniec súboru pridajte nový riadok a potom vložte nasledujúci kód:
{% 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>- Kliknite na Uložiť.
Pridať kód JavaScript pre pravidlá pre množstvo
Každý variant produktu môže mať vlastnú skupinu pravidiel pre množstvo. Po výbere iného variantu sa musia pravidlá pre množstvo zobrazené na stránke produktu alebo v sekcii odporúčaných produktov aktualizovať. Aktualizovanú hodnotu možno načítať pomocou kódu JavaScript.
theme.jsalebo ekvivalentný súboren.default.json
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor
theme.js.Na koniec súboru pridajte nový riadok a potom vložte nasledujúci kód:
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;
});- Kliknite na Uložiť.
Množstevné ceny
Pridať kód Liquid pre množstevné ceny
Ak chcete zobraziť množstevné ceny, môžete do nasledujúcich súborov vo svojej téme pridať kód:
main-product.liquidalebo ekvivalentný súborfeatured-product.liquidalebo ekvivalentný súbor
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor, ktorý chcete upraviť.
Na koniec súboru pridajte nový riadok a potom vložte nasledujúci kód:
{%- 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 -%}- Kliknite na Uložiť.
Pridať kód JavaScript pre množstevné ceny
Ak chcete zobraziť množstevné ceny, môžete do nasledujúceho súboru vo svojej téme pridať kód:
theme.js
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor
theme.js.Na koniec súboru pridajte nový riadok a potom vložte nasledujúci kód:
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');
}
}
},
);
}- Kliknite na Uložiť.
Pridať jazyky a regióny
Ak chcete zabezpečiť, že sa pravidlá pre množstvo a množstevné ceny zobrazia vo všetkých preložených verziách vášho online obchodu, môžete pridať jazyky a regióny pridaním nasledujúcich prekladových reťazcov vo formáte JSON do súboru en.default.json.
Kroky:
V administrátorovi Shopify prejdite na Online obchod > Témy.
Nájdite tému, ktorú chcete upraviť, kliknutím na tlačidlo ... otvorte ponuku akcií a potom kliknite na položku Upraviť kód.
Otvorte súbor
en.default.json.Na koniec súboru pridajte nový riadok a potom vložte nasledujúci kód:
"products": {
"product": {
"volume_pricing": {
"title": "Volume Pricing",
"note": "Volume pricing available",
"price_at_each": "at /ea"
}
"facets": {
"show_more": "Show more"
}
}
}- Kliknite na Uložiť.