FROM CACHE - de_header

Lieferzeit abhängig vom Lagerbestand

thiemo1
Tourist
3 0 1

Hallo zusammen, 

 

wir würden gerne zu Shopify wechseln, sind aber leider auf einen echten Stopper gestoßen. 

 

Wir benötigen eine Lieferzeitangabe auf der Produktdetailseite, im Warenkorb und idealerweise auch in der Bestellbetstätigungsmail, die abhängig vom Lagerbestand und der jeweils ausgewählten Variante funktioniert. 

 

Das heißt wenn ein Artikel keinen Bestand hat, soll eine andere Lieferzeit ausgegeben werden. 

 

Hat jemand eine Idee? 

5 ANTWORTEN 5
Ben310
Pionier
243 22 70

Hey @thiemo1 

 

Du kannst eine App wie die folgenden (mit Free Plans) verwenden um die genauen Lieferzeiten auszugeben an versch, Orten im Shop:

Du kannst auch Tags in Shopify verwenden, um jede Variante eines Produkts mit einem Tag zu versehen, der die Lieferzeit angibt. Dann das Tag in der Produktbeschreibung, im Warenkorb und in der Bestellbestätigungs-E-Mail anzeigen. Das Tag im Shopify-Template einfügen um die Lieferzeit je nach ausgewählter Variante zu variieren - im Liquid Template das Tag in einer FOR-Schleife mit der entsprechenden Variante verknüpfen und es an der gewünschten Stelle in der Produktbeschreibung, im Warenkorb und in der Bestellbestätigungs-E-Mail anzeigen.

Beispiel FOR-Schleife dafür (immer in einer Testkopie testen und ggf. einen Programmierer engagieren):

 

{% for variant in product.variants %}
  {% if variant == selected_variant %}
    <p>Lieferzeit: {{ variant.tags }}</p>
  {% endif %}
{% endfor %}

 

Oder die Lieferzeiten in Produktbeschreibungen und Produktvarianten hinzufügen und diese dann mit Liquid Templating und Metafelder auf der Produktdetailseite, im Warenkorb und in der Bestellbestätigungs-E-Mail anzeigen.
 

Ein zusätzliches Metafeld in den Produktbeschreibungen und Produktvarianten erstellen entweder über die Shopify-Admin-Oberfläche oder mithilfe einer App wie "Custom Fields".

Sobald das Metafeld erstellt ist, es in den Produktbeschreibungen und Produktvarianten ausfüllen und dann in Ihren Liquid-Vorlagen (z.B. Produktdetailseite, Warenkorb und Bestellbestätigungs-E-Mail) verwenden. Um die Lieferzeiten anzuzeigen, einen Liquid-Code wie den folgenden verwenden:

 

<p>Lieferzeit: {{ product.metafield.delivery_time }} Tage</p>​

 

"delivery_time" muss durch den Namen des Metafeldes ersetzt werden.

 
Oder ein JavaScript verwenden, die die Lieferzeiten basierend auf dem aktuellen Lagerbestand und der ausgewählten Variante berechnet und anzeigt. Der JS muss den aktuellen Lagerbestand und die Lieferzeit für jede Variante abrufen und das Ergebnis berechnen und im HTML-Code eingefügt werden oder es als externes Skript verlinken. Es muss die Auswahl der Variante auf der Produktseite verfolgen und ausgeführt werden, wenn eine Variante ausgewählt wird.
thiemo1
Tourist
3 0 1

Hey @Ben310

 

tausend Dank für deine Support un die tollen Tipps.

Wenn ich dich richtig verstehe, können wir nur über ein JavaScript, eine Lieferzeit-Ausgabe realisieren die den Lagerbestand berücksichtigt, oder?

 

Da ein konkretes Beispiel bei uns wie folgt aussieht:

1. Ein Artikel/Variante hat einen Lagerbestand >= 1, zeige "Lieferzeit: 1-3 Tage"

2. Springt der Lagerbestand bei diesem Artikel auf <= 0, zeige "Lieferzeit: 10-14 Tage"

 

Gabe
Shopify Staff
Shopify Staff
13362 2117 3224

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:

 

image.png

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 %}
    <p>Lieferzeit: 1-3 Tage</p>
  {% else %}
    <p>Lieferzeit: 10-14 Tage</p>
  {% 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,

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

thiemo1
Tourist
3 0 1

@Gabe Vielen Dank für die vielen Tipps. Ich denke, nur die JavaScript Lösung könnte richtig funktionieren. Leider übersteigt die Implementierung meinen technischen Horizont. 😞

Gabe
Shopify Staff
Shopify Staff
13362 2117 3224

Kannst immer in einer Testumgebung testen und debuggen. Weitere Coding Experten findest du in unserem Design Forum, falls du da deine Frage auf Englisch stellen möchtest (bitte mit Beispiele, Schritte, und Screenshots). Die geben sehr gute Tipps!

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog