Przejdź do głównej treści

Przegląd

Koszyk jest przechowywany w localStorage przeglądarki i utrzymuje się między przeładowaniami strony. Wszystkie operacje na koszyku są synchroniczne i natychmiast aktualizują stan lokalny.
Obiekt komerza jest dostępny globalnie po dołączeniu skryptu. Wywołaj komerza.init('twoje-id-sklepu') przed użyciem innych metod.

Dodawanie produktów

Dodaj wariant produktu do koszyka z określoną ilością.
komerza.addToBasket(productId, variantId, quantity);

Parametry

productId
string
wymagane
Unikalny identyfikator produktu
variantId
string
wymagane
Unikalny identyfikator wariantu produktu
quantity
number
Ile produktów dodać (domyślnie 1, jeśli nie podano)

Przykład

// Dodaj 2 egzemplarze konkretnego wariantu produktu
komerza.addToBasket("prod_abc123", "var_xyz789", 2);

// Obsługa przycisku dodania do koszyka
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("Dodano do koszyka!");
});

Wyświetlanie koszyka

Pobierz wszystkie produkty aktualnie znajdujące się w koszyku.
const items = komerza.getBasket();

Zwraca

Zwraca tablicę obiektów BasketItem:
interface BasketItem {
  productId: string; // ID produktu
  variantId: string; // ID wariantu
  quantity: number; // Liczba produktów
}

Przykład

const basket = komerza.getBasket();

if (basket.length === 0) {
  console.log("Koszyk jest pusty");
} else {
  basket.forEach((item) => {
    console.log(
      `Produkt: ${item.productId}, Wariant: ${item.variantId}, Ilość: ${item.quantity}`,
    );
  });
}

Liczba produktów

Pobierz całkowitą liczbę produktów w koszyku (suma wszystkich ilości).
const count = komerza.getBasketItemCount();

Zwraca

Zwraca liczbę reprezentującą łączną ilość wszystkich produktów.

Przykład

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

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

aktualizujOdznakeKoszyka();

Usuwanie produktów

Usuń wariant produktu całkowicie z koszyka.
komerza.removeFromBasket(productId, variantId);

Parametry

productId
string
wymagane
ID produktu do usunięcia
variantId
string
wymagane
ID wariantu do usunięcia

Przykład

function usunProdukt(productId, variantId) {
  if (confirm("Usunąć ten produkt z koszyka?")) {
    komerza.removeFromBasket(productId, variantId);
    aktualizujWyswietlanieKoszyka();
  }
}

Czyszczenie koszyka

Usuń wszystkie produkty z koszyka naraz.
komerza.clearBasket();

Przykład

document.getElementById("clear-cart").addEventListener("click", () => {
  if (confirm("Usunąć wszystkie produkty z koszyka?")) {
    komerza.clearBasket();
    aktualizujWyswietlanieKoszyka();
  }
});

Kopia zapasowa i przywracanie

Twórz kopie zapasowe stanu koszyka i przywracaj je później. Przydatne do obsługi błędów płatności lub implementacji funkcji „zapisz na później”.

Tworzenie kopii zapasowej

const success = komerza.createBasketBackup();
Zwraca true, jeśli kopia zapasowa została pomyślnie utworzona.

Przywracanie kopii zapasowej

const success = komerza.restoreBasketFromBackup();
Zwraca true, jeśli kopia zapasowa została pomyślnie przywrócona.

Przykład

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

  try {
    const order = await komerza.checkout(email, couponCode);
    // Sukces - przekierowanie do kasy
  } catch (error) {
    // Przywróć koszyk w przypadku błędu
    komerza.restoreBasketFromBackup();
  }
}