Ana içeriğe geç

searchProduct

Sayfa nesneleri için sınırlı çıktı ile hızlı arama.

Açıklama

Bu yöntem, bir metin sorgu adı temelinde ürün sayfa nesneleri için hızlı bir arama gerçekleştirir. Arama, belirtilen lang dil kodunu dikkate alarak localizeInfos nesnesinin başlık alanında gerçekleştirilir. Bir Promise döner ve bu Promise, dizinlenmiş Product nesnelerinin IProductsEntity dizisine çözülür.

Products.searchProduct(

name*, langCode

);

Parametreler şeması

Şema

name(required): string
Ürün sayfa nesnelerini aramak için metin (arama, localizeInfos nesnesinin başlık alanına dayanmaktadır ve dil dikkate alınmaktadır)
örnek: "laminat"

langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"

Örnekler

Minimal örnek

const response = await Products.searchProduct('cup');

langCode niteliği ile örnek

const response = await Products.searchProduct('cup', 'en_US');

Örnek yanıt

[
{
"id": 2957,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Cosmo"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"productPages": [
{
"id": 2850,
"pageId": 10,
"productId": 2957,
"positionId": 3193,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 428,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 428
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
]

Yanıt şeması

Şema: IProductsEntity[]

id: number
Benzersiz tanımlayıcı.
örnek: 12345

localizeInfos: ILocalizeInfo
Yerelleştirmeyi dikkate alarak ürünlerin adı.
örnek:

statusIdentifier: string | null
Ürün sayfası durum tanımlayıcıları (null olabilir).
örnek: "in_stock"

statusLocalizeInfos: ILocalizeInfo
Ürün için yerelleştirilmiş durum adı.
örnek: { "title": "İndirim" }

attributeSetIdentifier: string | null
Öznitelik seti id'si.
örnek: "set_12345"

position: number
Öğe numarası (sıralama için).
örnek: 1

price: number | null
İndeksten alınan ürün sayfası fiyatının değeri.
örnek: 150.00

additional: object
İndeksten alınan ek değer.
örnek: { prices: { min: 5 max: 150 } }

sku: string | null
Ürün SKU'su (Stok Tutma Birimi), null olabilir.
örnek: "SKU_12345"

isSync: boolean
Sayfa dizinleme durumu.
örnek: true

attributeValues: AttributeType
İndeksten temsil edilen öznitelik değerleri dizisi.
örnek:

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Ürün kategorileri.
örnek:

[
1,
2,
3
]

isVisible: boolean
Sayfa görünürlüğü belirtisi.
örnek: true

moduleFormConfigs: Array<IFormConfig>
Modül form yapılandırmaları (isteğe bağlı).

rating: IRating
Değerlendirme verisi.

isPositionLocked: boolean
Sıralama pozisyonu kilit göstergesi (isteğe bağlı).
örnek: false

relatedIds: number[]
İlgili ürün sayfalarının id'leri.
örnek:

[
12345,
67890
]

paymentStages: unknown
Ödeme aşamaları verisi (null olabilir).
örnek: null

discountConfig: Record<string, unknown>
İndirim yapılandırma nesnesi.
örnek:

templateIdentifier: string | null
Bağlı şablonun kullanıcı id'si.
örnek: "template_12345"

shortDescTemplateIdentifier: string | null
Kısa açıklama için bağlı şablonun kullanıcı id'si.
örnek: "short_desc_template_12345"

signedPrice: string
Fiyat işareti.

productPages: IProductPageRef[]
Ürünü sayfalarına bağlayan ürün sayfası referansları dizisi.
örnek:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: number
Ürün-sayfa bağlantı kaydının benzersiz tanımlayıcısı.
örnek: 16

productPages.pageId: number
Ürünün bağlı olduğu sayfanın tanımlayıcısı.
örnek: 4

productPages.productId: number
Ürün tanımlayıcısı.
örnek: 15

productPages.positionId: number
Sayfa içindeki sıralama pozisyonu tanımlayıcısı.
örnek: 244

productPages.categoryPath: string
Ürünün ait olduğu sayfanın kategori yolu.
örnek: "products"

blocks: string[]
Blok tanımlayıcılarının dizisi.
örnek:

[
"block_12345",
"block_67890"
]