Ana içeriğe geç

Giriş

E-ticaret ürünlerini dinamik kataloglar, filtreleme ve arama ile yönetin.

🎯 Bu modül ne yapar?

Products modülü (Katalog), çevrimiçi mağazanızda veya multimedya koleksiyonlarınızda ürün oluşturmanıza, almanıza, filtrelemenize ve yönetmenize olanak tanıyan bağımsız bir modüldür. Güçlü arama, filtreler ve organizasyon özellikleri ile ürün katalogları veya multimedya galerileri oluşturmak için çok esnek araçlar sunar.

Katalog, sezgisel bir arayüz aracılığıyla kataloglar oluşturmayı, yüklemeyi, düzenlemeyi ve filtrelemeyi sağlar. E-ticaretin ötesinde, multimedya galerileri gibi alternatif uygulamaları destekleyerek içerik yönetim aracı olarak çok yönlülüğünü gösterir.

Bunu dijital depomuz olarak düşünün - ürün envanterinizi OneEntry admin panelinde (Katalog > Ürünler) yönetirsiniz ve uygulamanız güçlü arama, filtreler ve sıralama ile ürünleri dinamik olarak alır.

📖 Basit Açıklama

Bir çevrimiçi mağaza kurduğunuzu hayal edin:

  • 👟 Spor Ayakkabılar - boyutlar, renkler, fiyatlar ile
  • 📱 Elektronik - özellikler, resimler, incelemeler ile
  • 👕 Giyim - boyutlar, malzemeler, varyantlar ile
  • 📚 Kitaplar - yazarlar, fiyatlar, açıklamalar ile

✅ Her ürünü sabit kodlamak yerine:

  • OneEntry admin panelinde ürün ekleyin (tüm detaylarla)
  • Bu modülü kullanarak ürünleri dinamik olarak alın
  • Kategori, fiyat aralığı, kullanılabilirlik ile filtreleyin
  • Ürünleri isim veya açıklama ile arayın
  • Fiyat, tarih, popülariteye göre sıralayın
  • Fiyatları/stokları güncelleyin, yeniden dağıtım yapmadan

Gerçek dünya örneği:

❌ Ürün Modülü Olmadan (sabit kodlanmış):
- Yeni ürün ekle → Kodu değiştir → Dağıt
- Fiyatı değiştir → Kod değişikliği → Dağıt
- 1000 ürün = devasa kod dosyası

✅ Ürün Modülü ile (dinamik):
- Yeni ürün ekle → Admin panelinde güncelle → Anında canlı
- Fiyatı değiştir → Admin panelinde güncelle → Anında canlı
- 10,000 ürün = basit API çağrıları

✨ Temel Kavramlar

Ürün Nedir?

Bir ürün, sattığınız bir öğedir ve şunları içerir:

  • Temel bilgi - İsim, açıklama, SKU, fiyat
  • Görseller - Ürün fotoğrafları, galeri
  • Varyantlar - Boyutlar, renkler, seçenekler (örneğin, "Kırmızı T-shirt Beden M")
  • Envanter - Stok miktarı, kullanılabilirlik
  • Özel nitelikler - Tanımladığınız herhangi bir alan (marka, malzeme, ağırlık vb.)
  • SEO - Meta başlık, açıklama, anahtar kelimeler
  • Durum - Aktif, taslak, tükenmiş
  • Yerelleştirme - Çok dilli destek

Ürün Yapısı

Ürünlerin farklı yapıları olabilir:

TürAçıklamaÖrnek
Basit ÜrünTek öğe, varyant yokKitap, Poster
Varyantlı ÜrünBirden fazla seçenek (boyut, renk)T-shirt (S/M/L, Kırmızı/Mavi)
Dijital Ürünİndirilebilir öğelerE-kitap, Yazılım
PaketÜrün grubuBaşlangıç Paketi, Hediye Seti

Ürün Organizasyonu

Ürünler, birkaç ana özellik aracılığıyla organize edilir:

  • Kategoriler - Bölümlere ayırın (Kategoriler, Sayfalar modülünde oluşturulan Katalog türü sayfalardır)
  • Ürün Durumları - Mevcut nitelik filtrelerinin ötesinde ek filtreleme koşulları oluşturun
  • Ürün Bağlantıları - Nitelik kriterlerine dayalı olarak ürünler arasında bağlantılar kurun
  • Ürün Filtreleri - Belirtilen filtre kriterlerini kullanarak hızlı arama
  • Özel nitelikler - Marka, Boyut, Renk, Malzeme vb.

Örnek hiyerarşi:

📁 Elektronik
├─ 📱 Akıllı Telefonlar
│ ├─ iPhone 15 Pro
│ └─ Samsung Galaxy S24
└─ 💻 Dizüstü Bilgisayarlar
├─ MacBook Pro
└─ Dell XPS

📁 Giyim
├─ 👕 T-Shirtler
└─ 👖 Kot Pantolonlar

📋 Bilmeniz Gerekenler

Katalog Mimarisi

Önemli: Katalogun kategorileri, Sayfalar modülü aracılığıyla oluşturulan Katalog türü sayfalardır. Ürün eklemeden önce katalog kategorilerini oluşturmalısınız.

Katalog özellikleri:

  • Ürünler Sekmesi - Katalog öğelerini oluşturma ve yönetme için ana çalışma alanı
  • Ürün Filtreleri - Belirtilen kriterleri kullanarak hızlı arama
  • Ürün Bağlantıları - Nitelik kriterlerine dayalı olarak ürünleri bağlayın (örneğin, tüm siyah telefonlar)
  • Ürün Durumları - Organizasyon için ek filtreleme koşulları
  • Katalog Yükleme - Katalog verilerini toplu olarak içe aktarma
  • Ayarlar - Sayısal giriş alanları ile yapılandırma seçenekleri

Ürünleri Alma Yöntemleri

YöntemNe Zaman KullanılırÖrnek
getProducts()Filtreler/arama ile ürünleri listeleMağaza katalog sayfası
getProductsByPageId()Belirli kategoriye ait ürünler (ID ile)Kategori sayfası
getProductsByPageUrl()Belirli kategoriye ait ürünler (URL ile)URL ile kategori sayfası
getProductById()ID ile tek bir ürünü alÜrün detay sayfası
getRelatedProductsById()İlgili/birbirine benzer ürünleri al"Ayrıca hoşunuza gidebilir" bölümü
searchProduct()Sorguya göre ürünleri araArama işlevselliği

Sayfalama Basitçe Açıklandı

1000 ürününüz olduğunda, hepsini bir anda yüklemezsiniz:

Offset formülü: offset = (pageNumber - 1) * limit


Sıralama Seçenekleri

Ürünleri farklı alanlara göre sıralayın:

sortKeyNe YaparÖrnek Kullanım
priceFiyata göre sıralaEn ucuz olanı önce göster
dateOluşturulma tarihine göre sıralaEn yeni ürünleri göster
titleAlfabetik sıralaA-Z ürün listesi
positionÖzel sıralama (varsayılan)Admin panelinden seçilmiş sıralama
idID'ye göre sıralaTeknik sıralama

Sıralama düzeni:

  • ASC (Artan) - Düşükten yükseğe (A→Z, 0→9, ucuzdan pahalıya)
  • DESC (Azalan) - Yüksekten düşüğe (Z→A, 9→0, pahalıdan ucuza)

Ürünleri Filtreleme

Sonuçları daraltmak için filtreleri kullanın:

Koşul işaretleri:

İşaretAnlamÖrnek
eqEşit (tam eşleşme)Fiyat = $50
neqEşit değilDurum ≠ "tükendi"
inİçerir (birinden)Renk içinde ["kırmızı", "mavi"]
ninİçermezKategori içinde ["arşivlenmiş"] değil
mthDaha büyükFiyat > $100
lthDaha küçükFiyat < $50
exsVardır (değeri var)İndirim var
nexsYoktur (boş)İndirim yok

Ürün Durumu ve Bağlantıları

Ürün Durumları, mevcut nitelik filtrelerinin ötesinde ek filtreleme koşulları oluşturarak daha sofistike bir ürün organizasyonu sağlar.

Ürün Bağlantıları, nitelik kriterlerine dayalı olarak ürünler arasında bağlantılar kurmanıza olanak tanır. Örneğin, aynı renk niteliğine sahip tüm ürünleri (örneğin, tüm siyah telefonları) bağlayabilirsiniz.


📊 Hızlı Referans Tablosu - Yaygın Yöntemler

YöntemAçıklamaKullanım Durumu
getProducts()Filtreleme/sıralama ile tüm ürünleri alAna katalog sayfası
getProductById()ID ile tek bir ürünü alÜrün detay sayfası
getProductsByPageId()Sayfa ID'sine göre kategori ürünlerini alKategori sayfası
getProductsByPageUrl()Sayfa URL'sine göre kategori ürünlerini alURL ile kategori sayfası
getRelatedProductsById()İlgili/birbirine benzer ürünleri al"Ayrıca hoşunuza gidebilir" bölümü
searchProduct()Sorguya göre ürünleri araArama işlevselliği
getProductsCount()Toplam ürün sayısını alSayfalama bilgisi
getProductsCountByPageId()Kategori ID'sine göre ürün sayısını alKategori sayfalama
getProductsCountByPageUrl()Kategori URL'sine göre ürün sayısını alKategori sayfalama
getProductBlockById()ID ile ürün bloğunu alÜrün içerik blokları
getProductsEmptyPage()Ürünler için boş sayfa yapısını alBoş durum yönetimi
getProductsPriceByPageUrl()Sayfa URL'sine göre ürün fiyatlarını alFiyat filtreleme

❓ Sıkça Sorulan Sorular (SSS)

Birden fazla kriterle filtreleme yapabilir miyim?

Evet! Birden fazla filtreyi dizi içinde birleştirin.


Ürün varyantlarını (boyutlar, renkler) nasıl yönetirim?

Ürün varyantları attributeValues içinde saklanır.


"Daha Fazla Yükle" butonunu nasıl uygularım?

Daha fazla ürün yüklemek için offset kullanın.


Birden fazla kategoriden ürünleri gösterebilir miyim?

Evet, category in koşul işaretini kullanın.


"Yeni Gelenler" bölümünü nasıl uygularım?

Oluşturulma tarihine göre sıralayın veya manuel sıralama için üst kategori kullanın.


💡 Önemli Notlar

Katalog Kategorileri Kurulumu

Önemli: Ürün eklemeden önce, Sayfalar modülü aracılığıyla katalog kategorilerini oluşturmalısınız. Katalogun kategorileri, Katalog türü sayfalardır.

İş Akışı:

  1. Admin panelinde Sayfalar modülüne gidin
  2. "Katalog" türünde sayfalar oluşturun
  3. Bu sayfalar ürün kategorileriniz olur
  4. Bu kategorilere Katalog > Ürünler aracılığıyla ürün ekleyin

Katalog Özellikleri

Katalog modülü kapsamlı araçlar sunar:

  • Ürünler Sekmesi - Katalog öğelerini oluşturma/yönetme için ana çalışma alanı
  • Ürün Filtreleri - Belirtilen kriterleri kullanarak hızlı arama sağlar
  • Ürün Bağlantıları - Niteliklere dayalı olarak ilgili ürünleri bağlar
  • Ürün Durumları - Özel filtreleme koşulları oluşturur
  • Katalog Yükleme - Ürünleri toplu olarak içe aktarır
  • Ayarlar - Katalog davranışını yapılandırır

E-ticaretin Ötesinde

Katalog, ürünlerle sınırlı değildir - şunlar için de kullanılabilir:

  • Multimedya Galerileri - Fotoğraflar, videolar, sanat eserleri koleksiyonları
  • Portföy Öğeleri - Tasarım çalışmaları, vaka çalışmaları
  • Belge Kütüphaneleri - Kaynaklar, indirmeler
  • Etkinlik Katalogları - Konferanslar, web seminerleri
  • Tarif Koleksiyonları - Yemek, içecek, pişirme

Performans Optimizasyonu

Sık erişilen ürünleri önbelleğe alın API çağrılarını azaltmak ve yükleme sürelerini iyileştirmek için.


Her Zaman Aktif Ürünleri Filtreleyin

Üretimde, her zaman yalnızca aktif ürünleri gösterin statusId: 1 ile filtreleyerek.


Eksik Görselleri Yönetin

Görseli olmayan ürünler için yedek görseller sağlayın tutarlı bir kullanıcı arayüzü sağlamak için.


🎓 En İyi Uygulamalar

  • Her zaman sayfalama kullanın (limit + offset)
  • Üretimde statusId: 1 ile filtreleyin
  • API çağrılarını azaltmak için ürün listelerini önbelleğe alın
  • "Stokta yok" durumunu nazikçe yönetin
  • Yedek görseller sağlayın
  • Öne çıkan ürünler için işaretleyiciler kullanın (ID'ler değil)
  • Debouncing ile arama uygulayın
  • Kullanıcı arayüzünde yükleme durumları ekleyin

OneEntry admin panelinde Katalog hakkında daha fazla bilgi: https://doc.oneentry.cloudhttps://doc.oneentry.cloud/docs/category/catalog


Products modülünün tanımı


const { Products } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


Bu modül, kullanıcı parametreleri olarak adlandırılan bir dizi kullanıcıQuery kabul eder. Parametreler metoda geçirilmezse, varsayılan değer uygulanacaktır. Bazı yöntemler, filtreleme için gövdeyi parametre olarak kabul eder. Sıralama ayarlamak istemiyorsanız, boş bir dizi geçirin veya hiçbir şey geçmeyin.

Parametreler:


const userQuery = {
offset: 0,
limit: 30,
sortOrder: 'DESC',
sortKey: 'id',
}

Şema

offset: number
Sayfalama parametresi. Varsayılan 0
örnek: 0

limit: number
sayfalama parametresi. Varsayılan 30
örnek: 30

sortKey: string
Sıralama için alan (varsayılan ayarlı değil - pozisyona göre sıralama, olası değerler: id, title, date, price, position)
Mevcut değerler: id, position, title, date, price

sortOrder: string
sıralama düzeni DESC | ASC (varsayılan DESC)
örnek: "DESC"

"conditionMarker" ile değerler filtrelenir (varsayılan olarak ayarlı değildir), olası değerler:

'in' - İçerir,
'nin' - İçermez,
'eq' - Eşit,
'neq' - Eşit değil,
'mth' - Daha büyük,
'lth' - Daha küçük,
'exs' - Vardır,
'nexs' - Yoktur


🔗 İlgili Belgeler