Lägg till kvantitetsregler till ditt Shopify-tema

Kvantitetsregler för B2B-katalogen stöds endast för gratis Shopify-teman, version 8.0.0 eller senare.Om du inte vill ändra eller uppdatera ditt tema kan du lägga till följande kod i ditt tema för att visa kvantitetsregler.

Produktens varukorgskvantitet

Kvantitetsvärdet för en produktvariant i varukorgen kan visas på produktsidan eller avsnittet med den utvalda produkten. Värdet kan hämtas med Liquid.

Lägg till kvantitetskod för Liquid-produktkorg

Du kan lägga till kod i följande filer i ditt tema för att tillhandahålla varukorgskvantitet:

  • main-product.liquid eller motsvarande
  • featured-product.liquid eller motsvarande

Steg:

  1. Öppna filen som du vill redigera.
  2. Skapa en ny rad längst ner i filen och lägg till följande kod:
{% 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 }}">
    {%- assign cart_qty = cart | item_count_for_variant: product.selected_or_first_available_variant.id -%}
    {{- 'products.product.quantity.in_cart' | t: quantity: cart_qty -}}
</span>
  1. Klicka på Spara.

Lägg till en kvantitetskod för Javascript-varukorg

När en variants varukorgskvantitet ändras måste värdet som visas på produktsidan eller avsnittet med den utvalda produkten uppdateras. Det uppdaterade värdet kan hämtas med hjälp av Javascript-kod.

Du kan lägga till kod i theme.js-filen eller motsvarande.

Steg:

  1. Öppna theme.js-filen.
  2. Skapa en ny rad längst ner i filen och lägg till följande kod:
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;
    });
  1. Klicka på Spara.

Kvantitetsregler

En produktvariants kvantitetsregler kan visas på produktsidan eller avsnittet med utvalda produkter. Reglerna kan hämtas med hjälp av Liquid.

Lägg till kod för Liquid-kvantitetregler

Du kan lägga till kod till följande filer i ditt tema för att stödja kvantitet i varukorgen:

  • main-product.liquid eller motsvarande
  • featured-product.liquid eller motsvarande

Steg:

  1. Öppna filen som du vill redigera.
  2. Skapa en ny rad längst ner i filen och lägg sedan till följande kod:
{% 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>
        &nbsp;-&nbsp;
        {{- '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>
        &nbsp;-&nbsp;
        {{- 'products.product.quantity.maximum_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.max -}}
        </span>
    {%- endif -%}
</div>
  1. Klicka på Spara.

Lägg till kod för Javascript-kvantitetsregler

Varje variant av en produkt kan ha sin egen uppsättning kvantitetsregler. När en annan variant har valts måste kvantitetsreglerna som visas på en produktsida eller ett utvalt produktavsnitt uppdateras. Det uppdaterade värdet kan hämtas med hjälp av Javascript-kod.

  • theme.js eller motsvarande
  • en.default.json

Steg:

  1. Öppna theme.js-filen.
  2. Skapa en ny rad längst ner i filen och lägg sedan till följande kod:
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;
    });
  1. Klicka på Spara.

Lägg till ort

Lägg till JSON-översättningssträngar

Steg:

  1. Öppna en.default.json-filen.
  2. Skapa en ny rad längst ner i filen och lägg sedan till följande kod:
{
   "products":{
      "quantity":{
         "minimum_of":"Minimum of ",
         "maximum_of":"Maximum of ",
         "multiples_of":"Increments of ",
         "in_cart": " in cart"
      }
   }
}
  1. Klicka på Spara.

Är du redo att börja sälja med Shopify?

Prova gratis