Zum Hauptinhalt springen

Übersicht

Der Warenkorb wird im localStorage des Browsers gespeichert und bleibt über Seitenneuladungen hinaus bestehen. Alle Warenkorb-Operationen sind synchron und aktualisieren den lokalen Status sofort.
Das komerza-Objekt ist global verfügbar, nachdem das Skript eingebunden wurde. Rufen Sie komerza.init('ihre-shop-id') auf, bevor Sie andere Methoden verwenden.

Artikel hinzufügen

Fügen Sie eine Produktvariante mit einer bestimmten Menge zum Warenkorb hinzu.
komerza.addToBasket(productId, variantId, quantity);

Parameter

productId
string
erforderlich
Die eindeutige Kennung des Produkts
variantId
string
erforderlich
Die eindeutige Kennung der Produktvariante
quantity
number
Wie viele Artikel hinzugefügt werden sollen (Standard: 1, wenn nicht angegeben)

Beispiel

// Füge 2 Artikel einer bestimmten Produktvariante hinzu
komerza.addToBasket("prod_abc123", "var_xyz789", 2);

// In-den-Warenkorb-Button-Handler
document.getElementById("add-to-cart").addEventListener("click", () => {
  const productId = "prod_abc123";
  const variantId = document.getElementById("variant-select").value;
  const quantity = parseInt(document.getElementById("quantity").value) || 1;

  komerza.addToBasket(productId, variantId, quantity);
  alert("In den Warenkorb gelegt!");
});

Warenkorb anzeigen

Rufen Sie alle Artikel ab, die sich aktuell im Warenkorb befinden.
const items = komerza.getBasket();

Rückgabe

Gibt ein Array von BasketItem-Objekten zurück:
interface BasketItem {
  productId: string; // Produkt-ID
  variantId: string; // Varianten-ID
  quantity: number; // Anzahl der Artikel
}

Beispiel

const basket = komerza.getBasket();

if (basket.length === 0) {
  console.log("Warenkorb ist leer");
} else {
  basket.forEach((item) => {
    console.log(
      `Produkt: ${item.productId}, Variante: ${item.variantId}, Menge: ${item.quantity}`,
    );
  });
}

Artikelanzahl abrufen

Rufen Sie die Gesamtanzahl der Artikel im Warenkorb ab (Summe aller Mengen).
const count = komerza.getBasketItemCount();

Rückgabe

Gibt eine Zahl zurück, die die Gesamtmenge aller Artikel darstellt.

Beispiel

function warenkorbBadgeAktualisieren() {
  const count = komerza.getBasketItemCount();
  document.getElementById("cart-count").textContent = count;

  if (count > 0) {
    document.getElementById("cart-badge").style.display = "block";
  }
}

warenkorbBadgeAktualisieren();

Artikel entfernen

Entfernen Sie eine Produktvariante vollständig aus dem Warenkorb.
komerza.removeFromBasket(productId, variantId);

Parameter

productId
string
erforderlich
Die ID des Produkts, das entfernt werden soll
variantId
string
erforderlich
Die ID der Variante, die entfernt werden soll

Beispiel

function artikelEntfernen(productId, variantId) {
  if (confirm("Diesen Artikel aus dem Warenkorb entfernen?")) {
    komerza.removeFromBasket(productId, variantId);
    warenkorbAnzeigeAktualisieren();
  }
}

Warenkorb leeren

Entfernen Sie alle Artikel auf einmal aus dem Warenkorb.
komerza.clearBasket();

Beispiel

document.getElementById("clear-cart").addEventListener("click", () => {
  if (confirm("Alle Artikel aus dem Warenkorb entfernen?")) {
    komerza.clearBasket();
    warenkorbAnzeigeAktualisieren();
  }
});

Sichern und Wiederherstellen

Erstellen Sie Sicherungen des Warenkorb-Zustands und stellen Sie diese später wieder her. Nützlich für die Verwaltung von Bezahlfehlern oder die Implementierung von „Für später speichern”-Funktionen.

Sicherung erstellen

const success = komerza.createBasketBackup();
Gibt true zurück, wenn die Sicherung erfolgreich erstellt wurde.

Sicherung wiederherstellen

const success = komerza.restoreBasketFromBackup();
Gibt true zurück, wenn die Sicherung erfolgreich wiederhergestellt wurde.

Beispiel

async function zurBezahlungFortfahren() {
  komerza.createBasketBackup();

  try {
    const order = await komerza.checkout(email, couponCode);
    // Erfolgreich - Weiterleitung zur Kasse
  } catch (error) {
    // Warenkorb bei Fehler wiederherstellen
    komerza.restoreBasketFromBackup();
  }
}