Verbleibendes Inventar einer Variante auf Produktseiten anzeigen
Du kannst eine Nachricht auf der Produktseite oder im Abschnitt für ausgewählte Produkte hinzufügen, auf der die Anzahl der Artikel angezeigt wird, die auf Lager sind, wenn der Lagerbestand einer Produktvariante niedrig ist. Damit diese Nachricht angezeigt wird, musst du die Inventarverfolgung für das Produkt aktivieren.
Die Schritte für diese Anpassung variieren je nach deinem Theme. Klicke auf die Schaltfläche für dein Theme und befolge die Anweisungen.
Schritte für Debut
Bearbeiten theme.liquid
- Gehe in deinem Shopify-Adminbereich zu Onlineshop > Themes.
- Suche das Theme, das du bearbeiten möchtest und klicke dann auf Aktionen > Code bearbeiten.
- Öffne im Verzeichnis Layout
theme.liquid
. -
Suche das abschließende Tag
</head>
im Code. Füge in einer neuen Zeile über dem abschließenden Tag</head>
den folgenden Code ein:
<script>
var variantStock = {};
</script>
- Klicke auf Speichern.
Bearbeiten von product-template.liquid
oder featured-product.liquid
-
Öffne im Verzeichnis Abschnitte
product-template.liquid
oderfeatured-product.liquid
:- Öffne
product-template.liquid
, um diese Funktion zu deinen Produktseiten hinzuzufügen. - Öffne
featured-product.liquid
, um diese Funktion zum Abschnitt für ausgewählte Produkte auf der Startseite hinzuzufügen.
- Öffne
Suche nach
{% form 'product'
. Füge über diesem Tag den folgenden Code hinzu:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `{{ current_variant.inventory_quantity }}` in your `<p>` tags.
- Füge am Ende der Datei den folgenden Code hinzu:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Klicke auf Speichern.
Bearbeiten von theme.js.liquid
oder theme.js
Welche Änderungen du an diesen Dateien vornehmen musst, hängt von der Version von Debut ab, die du verwendest.
Versionen 17.8.0 und darunter
- Öffne
theme.js.liquid
odertheme.js
. -
Suche nach
theme.Product = (function()
. Füge unterhalb vonthis.selectors = {
den folgenden Code hinzu:
inventoryHtml: '.inventoryWrapper',
-
Suche in derselben Datei nach
_updateAddToCart: function(evt) {
. Füge direkt darunter den folgenden Code hinzu:
var inventoryWrapper = this.container.querySelector(this.selectors.inventoryHtml);
-
Suche nach
if (variant.available) {
. Füge vor der Anweisung} else {
den folgenden Code hinzu:
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify' && inventoryWrapper !== null) {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
inventoryWrapper.innerHTML = inventoryHtml;
} else {
inventoryWrapper.innerHTML = '';
}
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `${variantStock[variant.id]}` in your `<p>` tags.
- Klicke auf Speichern.
Versionen 17.9.0 und höher
- Öffne
theme.js.liquid
odertheme.js
. -
Suche nach
theme.Product = (function()
. Füge unterhalb vonthis.selectors = {
den folgenden Code hinzu:
inventoryHtml: '.inventoryWrapper',
-
Suche in derselben Datei nach
_setProductState: function(evt) {
. Füge direkt darunter den folgenden Code hinzu:
var inventoryWrapper = this.container.querySelector(this.selectors.inventoryHtml);
-
Suche in derselben Datei nach
if (!variant) {
. Füge hinter der schließenden Klammer}
den folgenden Code hinzu:
else {
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify' && inventoryWrapper !== null) {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
inventoryWrapper.innerHTML = inventoryHtml;
} else {
inventoryWrapper.innerHTML = '';
}
}
Info zum Code über den Ausgaben Stock: x
: Du kannst den Wortlaut ändern, indem du den Inhalt in den <p>
-Tags anpasst. Stelle sicher, dass die <p>
-Tags ${variantStock[variant.id]}
enthalten.
- Klicke auf Speichern.
Schritte für Brooklyn, Simple und Minimal
Bearbeiten theme.liquid
- Gehe in deinem Shopify-Adminbereich zu Onlineshop > Themes.
- Suche das Theme, das du bearbeiten möchtest und klicke dann auf Aktionen > Code bearbeiten.
- Öffne im Verzeichnis Layout
theme.liquid
. -
Suche das abschließende Tag
</head>
im Code. Füge in einer neuen Zeile über dem abschließenden Tag</head>
den folgenden Code ein:
<script>
var variantStock = {};
</script>
- Klicke auf Speichern.
Bearbeiten von product-template.liquid
oder featured-product.liquid
Öffne im Verzeichnis Abschnitte
product-template.liquid
oderfeatured-product.liquid
:Suche nach
{% form 'product'
. Füge über diesem Tag den folgenden Code hinzu:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `{{current_variant.inventory_quantity }}` in your `<p>` tags.
- Füge am Ende der Datei den folgenden Code hinzu:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Klicke auf Speichern.
Bearbeiten von theme.js.liquid
oder theme.js
- Öffne
theme.js.liquid
odertheme.js
. -
Suche nach
theme.Product = (function()
. Füge unterhalb vonthis.selectors = {
den folgenden Code hinzu:
inventoryHtml: '.inventoryWrapper',
-
Suche in derselben Datei nach
if (variant.available) {
. Füge vor der Anweisung} else {
den folgenden Code hinzu:
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify') {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
$(this.selectors.inventoryHtml, this.$container).html(inventoryHtml);
} else {
$(this.selectors.inventoryHtml, this.$container).html('');
}
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `${variantStock[variant.id]}` in your `<p>` tags.
- Klicke auf Speichern.
Schritte für Boundless
Bearbeiten theme.liquid
- Gehe in deinem Shopify-Adminbereich zu Onlineshop > Themes.
- Suche das Theme, das du bearbeiten möchtest und klicke dann auf Aktionen > Code bearbeiten.
- Öffne im Verzeichnis Layout
theme.liquid
. -
Suche das abschließende Tag
</head>
im Code. Füge in einer neuen Zeile über dem abschließenden Tag</head>
den folgenden Code ein:
<script>
var variantStock = {};
</script>
- Klicke auf Speichern.
Bearbeiten von product-template.liquid
oder featured-product.liquid
Öffne im Verzeichnis Abschnitte
product-template.liquid
oderfeatured-product.liquid
:Suche nach
{% form 'product'
. Füge über diesem Tag den folgenden Code hinzu:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
Info zum Code über den Ausgaben Stock: x
: Du kannst den Wortlaut ändern, indem du den Inhalt in den <p>
-Tags anpasst. Stelle sicher, dass die <p>
-Tags {{current_variant.inventory_quantity }}
enthalten.
- Füge am Ende der Datei den folgenden Code hinzu:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Klicke auf Speichern.
Bearbeiten von theme.js.liquid
oder theme.js
- Öffte 'theme.js.liquid' * oder * 'theme.js'.
-
Suche nach
theme.Product = (function()
. Füge unterhalb vonvar selectors = {
den folgenden Code hinzu:
inventoryHtml: '.inventoryWrapper',
-
Suche in derselben Datei nach
$(selectors.SKU, this.$container).html(variant.sku);
. Füge direkt darunter den folgenden Code hinzu:
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify') {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
$('.inventoryWrapper').html(inventoryHtml);
} else {
$('.inventoryWrapper').html("");
}
Info zum Code über den Ausgaben Stock: x
: Du kannst den Wortlaut ändern, indem du den Inhalt in den <p>
-Tags anpasst. Stelle sicher, dass die <p>
-Tags ${variantStock[variant.id]}
enthalten.
- Klicke auf Speichern.
Schritte für Narrative
Bearbeiten theme.liquid
- Gehe in deinem Shopify-Adminbereich zu Onlineshop > Themes.
- Suche das Theme, das du bearbeiten möchtest und klicke dann auf Aktionen > Code bearbeiten.
- Öffne im Verzeichnis Layout
theme.liquid
. -
Suche das abschließende Tag
</head>
im Code. Füge in einer neuen Zeile über dem abschließenden Tag</head>
den folgenden Code ein:
<script>
var variantStock = {};
</script>
- Klicke auf Speichern.
Bearbeiten von product-template.liquid
oder featured-product.liquid
Öffne im Verzeichnis Abschnitte
product-template.liquid
oderfeatured-product.liquid
:Suche nach
{% include 'product-form' %}
. Füge über diesem Tag den folgenden Code hinzu:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
Info zum Code über den Ausgaben Stock: x
: Du kannst den Wortlaut ändern, indem du den Inhalt in den <p>
-Tags anpasst. Stelle sicher, dass die <p>
-Tags {{current_variant.inventory_quantity }}
enthalten.
- Füge am Ende der Datei den folgenden Code hinzu:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Klicke auf Speichern.
Bearbeiten custom.js
- Öffne
custom.js
. - Füge am Ende der Datei den folgenden Code hinzu:
var sections = window.theme.sections;
var inventorySelectorHtml = '.inventoryWrapper';
var productExtension = {
init: function() {
this.on('variant_change_successful', this._updateInventory.bind(this));
this.on('variant_change_undefined', this._removeInventory.bind(this));
},
_removeInventory: function() {
$(inventorySelectorHtml, this.container).html('');
},
_updateInventory: function(event, instance, product, variant) {
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify') {
$(inventorySelectorHtml, this.container).html(`<p>Stock: ${variantStock[variant.id]}</p>`);
} else {
$(inventorySelectorHtml, this.container).html('');
}
}
};
sections.extend('product-template', productExtension);
sections.extend('featured-product', productExtension);
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `${variantStock[variant.id]}` in your `<p>` tags.
- Klicke auf Speichern.