Skip to content

Veri bağlama ​

Bölümünüzün ürün göstermesi için iki yol var: veri prop'u (önerilen) veya SDK çağrısı.

Veri prop'u ​

Ürün listesi tipinde bir prop tanımlarsınız. Mağaza sahibi kaynağı seçer, vitrin sorguyu çözer ve bileşeninize hazır ürün dizisi gelir.

Mağaza sahibinin seçebildiği kaynaklar:

ModAnlamı
autoKatalogdan sıralı akış (en yeni, fiyat vb.) + adet
staticElle seçilmiş ürünler, seçtiği sırayla
categoryBelirli bir kategori
contextSayfanın konusu — kategori sayfasında o kategori, ürün sayfasında o ürün

context modu dinamik sayfaların anahtarıdır: tek bir dizilim tüm kategori sayfalarına hizmet eder.

tsx
import type { ProductGridProps } from '../generated/types';

export default function ProductGrid({ heading, products }: ProductGridProps) {
  return (
    <section>
      <h2>{heading}</h2>
      <div className="wk-grid">
        {products.map((p) => (
          <a key={p.id} href={`/products/${p.slug}`} className="wk-card">
            {p.images?.[0] && <img src={p.images[0]} alt={p.name} />}
            <h3>{p.name}</h3>
            <span>{p.price} ₺</span>
          </a>
        ))}
      </div>
    </section>
  );
}

Bu yolu tercih edin: sunucuda çözüldüğü için ilk boyamada veri hazırdır, yükleniyor durumu yönetmeniz gerekmez ve mağaza sahibi kaynağı istediği gibi değiştirebilir.

SDK çağrısı ​

Bazı bölümler kendi verisini çekmek zorundadır — sepet çekmecesi, arama kutusu, hesap sayfası gibi tarayıcıda yaşayan şeyler.

tsx
import { useEffect, useState } from 'react';
import { winkwop, type WinkwopCart } from 'winkwop-theme-sdk';

export default function CartBadge() {
  const [cart, setCart] = useState<WinkwopCart | null>(null);

  useEffect(() => {
    winkwop.cart.get().then(setCart).catch(() => {});
  }, []);

  return <span>{cart?.item_count ?? 0}</span>;
}

Tam yüzey: SDK referansı.

Hangisini seçmeli ​

DurumYol
Ürün/kategori listelemekVeri prop'u
Sayfanın konusuna göre içerikVeri prop'u, context modu
Sepet durumu, arama, müşteri hesabıSDK
Kullanıcı etkileşimiyle değişen veriSDK

Görseller ​

Ürün görselleri size mutlak URL olarak gelir; ek bir işlem yapmanız gerekmez. Görsel dizisi boş olabilir, her zaman kontrol edin:

tsx
{p.images?.[0] ? <img src={p.images[0]} alt={p.name} /> : <div className="wk-placeholder" />}

Winkwop tema platformu