searchProduct
Recherche rapide d'objets de page avec une sortie limitée.
Description
Cette méthode effectue une recherche rapide d'objets de page de produit basée sur un nom de requête textuel. La recherche est effectuée sur le champ titre de l'objet localizeInfos, en tenant compte du code de langue spécifié. Elle renvoie une promesse qui se résout en un tableau d'objets Produit indexés IProductsEntity.
Produits.searchProduct(
name,
langCode
);
Parameters schema
Schéma
name(obligatoire): string
Texte pour rechercher des objets de page de produit (la recherche est basée sur le champ titre de l'objet localizeInfos en tenant compte de la langue)
exemple : "laminat"
langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"
Exemples
Exemple minimal
const response = await Products.searchProduct('cup');
Exemple avec l'attribut langCode
const response = await Products.searchProduct('cup', 'en_US');
Exemple de réponse
[
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Vente"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"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
}
},
"categories": [
"catalog"
],
"isVisible": true,
"productPages": [
{
"id": 2850,
"pageId": 10,
"productId": 2957,
"positionId": 3193,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block"
],
"moduleFormConfigs": []
}
]
Schéma de réponse
Schéma : IProductsEntity[]
id: number
L'identifiant unique.
exemple : 12345
localizeInfos: ILocalizeInfo
Le nom des produits, en tenant compte de la localisation.
statusIdentifier: string | null
Identifiants de statut de page de produit (peut être nul).
exemple : "in_stock"
statusLocalizeInfos: any
Description JSON de l'objet de statut de l'élément, en tenant compte de la langue.
attributeSetIdentifier: string | null
Identifiant de l'ensemble d'attributs.
exemple : "set_12345"
position: number
Numéro de l'élément (pour le tri).
exemple : 1
templateIdentifier: string | null
Identifiant utilisateur du modèle lié.
exemple : "template_12345"
shortDescTemplateIdentifier: string | null
Identifiant utilisateur du modèle lié pour une courte description.
exemple : "short_desc_template_12345"
price: number
La valeur du prix de la page produit tirée de l'index.
exemple : 150
additional: object
Valeur supplémentaire de l'index.
exemple :
{
"en": "En Stock",
"de": "Auf Lager"
}
sku: string | null
SKU du produit (Stock Keeping Unit), peut être nul.
exemple : "SKU_12345"
isSync: boolean
Indication de l'indexation de la page.
exemple : true
attributeValues: AttributeType
Tableau des valeurs d'attributs de l'index, représenté.
exemple :
[
{
"id": "color",
"value": "red"
}
]
categories: string[]
Catégories de produits.
exemple :
[
1,
2,
3
]
isVisible: boolean
Un signe de visibilité de la page.
exemple : true
productPages: any[]
Tableau de pages de produits ou un seul objet de page de produit.
blocks: string[]
Tableau d'identifiants de blocs.
exemple :
[
"block_12345",
"block_67890"
]
isPositionLocked: boolean
Indicateur de verrouillage de la position de tri (optionnel).
exemple : false
relatedIds: number[]
Identifiants des pages de produits connexes.
exemple :
[
12345,
67890
]