Création et gestion de variantes à l'aide de la charge de données
Vous pouvez utiliser Data Load pour créer, lire, mettre à jour et supprimer des variantes de produits. En option, vous pouvez également utiliser la charge de données pour maintenir la relation d'entrée de catalogue entre une variante et ses SKU enfants.
Pourquoi et quand exécuter cette tâche
Il existe deux approches pour charger les données de variantes de produits. Ce que vous utilisez dépend si vous vous attendez à ce que l'utilitaire Data Load résolve et maintienne automatiquement la relation d'entrée de catalogue entre une variante et ses SKU enfants. Vous pouvez contrôler ce comportement à l'aide d'une propriété de configuration Data Load nommée resolveAndAssociateVariantItems.
- Vous ne pouvez pas créer une variante en double comme vous le pouvez avec un produit. Par exemple, après avoir créé une variante à l'aide de l'attribut
red, vous ne pouvez pas créer une deuxième variante basée sur l'attributred. - Pour un produit donné, s'il existe déjà une variante définie à l'aide d'un attribut particulier, le produit ne peut pas être utilisé pour créer des variantes à l'aide d'un attribut différent. Par exemple, si une chaussure a une variante de couleur rouge, elle peut être utilisée pour créer d'autres variantes de couleur, telles qu'une variante de couleur noire. Toutefois, elle ne peut pas être utilisée pour créer une variante de taille.
Procédure
- Les attributs du dictionnaire d'attributs et leurs valeurs autorisées.
- Chargez les produits.
- Chargez les SKU.
-
Chargez des variantes avec des attributs, à l'aide de la propriété de configuration resolveAndAssociateVariantItems pour définir la façon dont la relation d'entrée de catalogue est maintenue.
- resolveAndAssociateVariantItems
- True = L'utilitaire de charge de données maintient implicitement la relation d'entrée de catalogue entre une variante et ses SKU enfants.
-
(Facultatif) Si vous avez choisi de charger explicitement la relation d'entrée de catalogue entre la variante et la SKU (resolveAndAssociateVariantItems =False), effectuez la charge dès maintenant.
Paramètres dans le fichier wc-loader-catalog-entry.xml
La variante est chargée à l'aide de CatalogEntryMediator (le même que le produit ou la SKU), avec le type défini sur "Variant". Des exemples peuvent être trouvés dans l'utilitaire docker HCL Commerce sous le répertoire CommerceServer90Dir/samples/DataLoad/Catalog/Variant.
Dans le fichier wc-loader-catalog-entry.xml, le mappage de l'attribut de définition d'une variante est défini comme suit.
Où<!-- Variant attributes --> <_config:mapping xpath="CatalogEntryAttributes/Attributes[50]/Name" value="VariantAttribute_Id" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[50]/StringValue/Value" value="VariantAttribute_Id" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[51]/Name" value="VariantAttribute_Identifier" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[51]/StringValue/Value" value="VariantAttribute_Identifier" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[52]/Name" value="VariantAttributeValue_Id" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[52]/StringValue/Value" value="VariantAttributeValue_Id" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[53]/Name" value="VariantAttributeValue_Identifier" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[53]/StringValue/Value" value="VariantAttributeValue_Identifier" />- VariantAttribute_Id
- Clé primaire du tableau ATTR pour l'attribut de définition de la variante. Une seule des deux colonnes (VariantAttribute_Id et VariantAttribute_Identifier) doit être fournie dans les données d'entrée.
- VariantAttribute_Identifier
- Identificateur de champ de l'attribut de définition de la variante ATTR du tableau de base de données. Une seule des deux colonnes (VariantAttribute_Id et VariantAttribute_Identifier) doit être fournie dans les données d'entrée.
- VariantAttributeValue_Id
- Clé primaire du tableau ATTRVAL pour la valeur d'attribut de définition de la variante. Une seule des deux colonnes (VariantAttributeValue_Id et VariantAttributeValue_Identifier) doit être fournie dans les données d'entrée.
- VariantAttributeValue_Identifier
- Identificateur de champ du tableau de base de données ATTRVAL pour la valeur d'attribut de définition de la variante. Une seule des deux colonnes (VariantAttributeValue_Id et VariantAttributeValue_Identifier) doit être fournie dans les données d'entrée.
Restriction : Certains attributs ont un grand nombre de valeurs prédéfinies. Si vous choisissez comme attribut de définition une valeur prédéfinie qui n'est pas utilisée par une SKU réelle, alors la variante ne fonctionnera pas, bien qu'elle soit potentiellement visible dans la vitrine.Et dans la section de la configuration CatalogEntryMediator :
Deux propriétés de configuration sont disponibles :<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator" componentId="com.ibm.commerce.catalog" ><_config:property name="resolveAndAssociateParentVariants" value= "false" /> <_config:property name="validateParentProductDefiningAttributes" value= "false" />La propriété resolveAndAssociateVariantItems détermine s'il convient de maintenir automatiquement la relation entre la variante et la SKU. La propriété validateParentProductDefiningAttributes détermine s'il convient d'effectuer une validation sur l'attribut de définition de la variante, par exemple, si une variante existante se trouve sous le même produit avec la même paire de attribut/valeur d'attribut. La désactivation de cet indicateur peut améliorer les performances de charge de données, à condition que l'intégrité des données soit assurée ailleurs. Le fichier wc-dataload-catalog-entry-variant.xml est le fichier de contrôle principal pour charger les variantes, et le fichier CatalogEntries-variant.csv est l'exemple de données d'entrée au format CSV.
Chargement de variantes à l'aide d'un fichier .csv
Vous pouvez utiliser l'exemple CatalogEntries-variant.csv de fichier pour charger des variantes. Le fichier est au format
CatalogEntry,,,,,,,,,,,. Il existe trois paramètres spécifiques aux variantes de produits.
Emplacement des nouveaux paramètres :PartNumber,Type,ParentPartNumber,Sequence,ParentGroupIdentifier,Hide, Name,ShortDescription,LongDescription,VariantAttribute_Identifier,VariantAttributeValue_Identifier,Delete- Masquer
- Cet indicateur indique s'il faut masquer cette entrée de catalogue de la recherche et de la navigation dans la vitrine. L'entrée existe toujours et peut être utilisée, mais ne s'affiche pas dans le magasin.
- VariantAttribute_Id
- Spécifie l'id d'attribut de définition de la variante. Il s'agit de la clé primaire du tableau de base de données ATTRVAL. Toutes les variantes du même produit parent ont le même VariantAttribute_Identifier.
- VariantAttributeValue_Identifier
- Spécifie l'identificateur d'attribut de définition de la variante dans le tableau de base de données ATTR. Les variantes d'un même produit parent doivent avoir des valeurs VariantAttributeValue_Identifier différentes.
Par exemple, une entrée exemple peut être :Cords-Black,Variant,Cords,1,Pants,1,Men's corduroy pants - Black, Men's corduroy pants - Black,"Fabric 50% cotton, 50% polyester.",CordsColor,Black,0Relation d'entrée de catalogue de chargement entre une variante et ses SKU enfants
La relation d'entrée de catalogue entre une variante et ses SKU enfants est chargée à l'aide de CatalogEntryRelationshipMediator. Des exemples peuvent être trouvés dans l'utilitaire docker WC sous le répertoire CommerceServer90Dir/samples/DataLoad/Catalog/Variant.
Le fichier wc-loader-catalog-entry-relationship.xml définit le mappage de données et configure le médiateur.
Le fichier wc-dataload-catalog-entry-relationship.xml est le fichier de contrôle principal pour exécuter la charge de données.
Le fichier CatalogEntryRelationship-variant-item.csv est l'exemple de données d'entrée au format CSV.
Charger les relations entre un attribut SKU et un attribut de dictionnaire d'attributs
Lors du chargement de la relation entre l'attribut SKU et l'attribut du dictionnaire d'attributs, il modifie implicitement la relation parent-enfant entre les variantes et les SKU. Dans ce cas, si vous activez la propriété de configuration resolveAndAssociateParentVariants, l'utilitaire de charge de données maintiendra automatiquement la relation entre les variantes et les SKU.
Des exemples peuvent être trouvés dans l'utilitaire docker WC sous le répertoire CommerceServer90Dir/samples/DataLoad/Catalog/AttributeDictionaryAttribute.
Dans le fichier de configuration wc-loader-catalog-entry-AD-attribute-relationship.xml, une propriété de configuration nommée resolveAndAssociateVariantItems est trouvée. Cette propriété prend par défaut la valeur false.<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttributeDictionaryAttributeMediator" componentId="com.ibm.commerce.catalog" > ... <_config:property name="resolveAndAssociateVariantItems" value="false" /> </_config:BusinessObjectMediator>