Hey @thiemo1
Ja, das wäre richtig denn hier müsstest du über dem Shopify API den aktuellen Bestand im Backend lesen und im Frontend ausweisen als `Lieferzeit: X-Y Tage```
Dafür bräuchte man einen J-Script der eine Conditional Logic verwendet. Die Delivery Times Apps können die generelle Lieferzeit auf der Produktseite anzeigen.
Das Impulse Theme kann das auch wie man hier sieht:
Da wird aber die Lieferzeit nicht angezeigt.
Du kannst auch eine Schleife im Liquid verwenden, die den Lagerbestand jeder Variante prüft, und den entsprechenden Lieferzeit-Text ausgibt. Hier ist ein CSS Beispielcode:
{% for variant in product.variants %}
{% if variant.inventory_quantity >= 1 %}
Lieferzeit: 1-3 Tage
{% else %}
Lieferzeit: 10-14 Tage
{% endif %}
{% endfor %}
Platziere diesen Code an der gewünschten Stelle im Produktseiten-Code. Dieser Code geht davon aus, dass jede Variante einen einzigartigen Lagerbestand hat.
Hier ist ein Beispiel eines JavaScript-Skripts, das die Lieferzeit basierend auf dem aktuellen Lagerbestand und der ausgewählten Variante berechnet und auf der Produktseite anzeigt:
// Variablen, die den aktuellen Lagerbestand und die Lieferzeit für jede Variante enthalten
var inventory = {
"variant1": {
"stock": 10,
"leadTime": 2
},
"variant2": {
"stock": 5,
"leadTime": 3
},
"variant3": {
"stock": 0,
"leadTime": 4
}
};
// Funktion zur Berechnung der Lieferzeit basierend auf dem aktuellen Lagerbestand und der ausgewählten Variante
function calculateLeadTime(variant) {
if (inventory[variant].stock > 0) {
return inventory[variant].leadTime;
} else {
return "Out of stock";
}
}
// Verfolgen der Varianteauswahl auf der Produktseite
$(document).on("change", ".variant-selector", function() {
var selectedVariant = $(this).val();
var leadTime = calculateLeadTime(selectedVariant);
// Anzeige der Lieferzeit auf der Produktseite
$("#lead-time-display").text(leadTime);
});
In diesem Beispiel werden die Variablen inventory verwendet, um den aktuellen Lagerbestand und die Lieferzeit für jede Variante zu speichern. Die Funktion calculateLeadTime wird verwendet, um die Lieferzeit basierend auf dem aktuellen Lagerbestand und der ausgewählten Variante zu berechnen. Die Auswahl der Variante wird mit Hilfe von jQuery verfolgt und das Skript wird ausgeführt, wenn eine Variante ausgewählt wird. Das Ergebnis der Berechnung wird dann auf der Produktseite angezeigt.
Es werden somit jQuery und einige Annahmen über die HTML-Struktur der Produktseite gemacht, um das Skript auszuführen.
Ich würde das nur in einer testumgebung testen und zusammen mit einem Programmierer/Experten!
VG,