Exemple : Insertion et remplacement de conditions de filtre de catalogue
Vous pouvez insérer ou remplacer vos conditions de filtre de catalogue à l'aide de l'utilitaire de chargement de données. Les exemples ci-après utilisent un fichier CSV pour expliquer comment insérer ou remplacer les données de condition de filtre de catalogue.
Cet exemple utilise un fichier CSV pour expliquer comment insérer, remplacer ou supprimer vos données. Vous pouvez aussi créer et utiliser un fichier au format XML pour insérer, remplacer ou supprimer vos données. Si vous choisissez de créer et d'utiliser un fichier au format XML, assurez-vous que vos éléments XML utilisent les mêmes noms que ceux des colonnes CSV.
Prérequis
- Assurez-vous que le magasin existe.
- Vérifiez que les données de catalogue existe.
- Vérifiez que le groupe de conditions de filtre de catalogue est chargé.
Fichier CSV avec exemples de données de conditions de filtre de catalogue
CatalogFilterCondition.csv. Ce fichier contient des exemples de données de condition de filtre de catalogue. Chaque colonne est délimitée par une virgule.
| CatalogFilterName | StoreIdentifier | CatalogIdentifier | CatalogGroupIdentifier | ConditionGroupIdentifier | ConditionType | AttributeName | Opérateur | AttributeValueIdentifier | AttributeValue | LanguageId | ValueType |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Filtre de catalogue A | Aurora | Aurora | Lounge Chairs | conditionLoungeChairAnd | 0 | Couleur | différent de | Red, Green, Black | Red, Green, Black | -1 | Chaîne |
| Filtre de catalogue A | Aurora | Aurora | Lounge Chairs | conditionLoungeChairAnd | 1 | Fabricant | est égal à | ABC | ABCcompany | -7 | Chaîne |
définitions de colonne CSV et d'élément XML
- CatalogFilterName
- Requis, chaîne : Nom du filtre de catalogue. Assurez-vous que la combinaison de CatalogIdentifier, StoreIdentifier et CatalogFilterName est unique.
- StoreIdentifier
- Requis, chaîne : Identificateur du magasin auquel appartient le filtre de catalogue.
- CatalogIdentifier
- Requis, chaîne : Identificateur du catalogue auquel appartient le filtre de catalogue.
- CatalogGroupIdentifier
- Requis, chaîne : Identificateur du groupe de catalogue à inclure ou exclure dans ce filtre de catalogue.
- ConditionGroupIdentifier
- Nom unique de la condition.
- ConditionType
- Requis, chaîne : Type de condition :
- 0
- L'attribut est stocké dans le dictionnaire d'attributs.
- 1
- L'attribut n'est pas stocké dans le dictionnaire d'attributs.
- AttributeName
- Requis, chaîne : Nom d'attribut. Pour un attribut stocké dans le dictionnaire d'attributs, désigne l'identificateur de l'attribut.
- Opérateur
- Requis, chaîne : opérateur de condition, qui peut être l'un des suivants :
- est égal à
- différent de
- less than
- not less than
- supérieur à
- not greater than
- AttributeValueIdentifier
- Requis lorsque la valeur de ConditionType est 0, Chaîne : identificateur unique de la valeur d'attribut. Utilisé pour les attributs du dictionnaire d'attributs. Il peut contenir plusieurs valeurs. Chaque valeur est séparée par une virgule.
- AttributeValue
- Requis, chaîne : valeurs de l'attribut, qui peuvent être multiples. Chaque valeur est séparée par une virgule.
- LanguageId
- Requis, entier : ID de la langue.
- -1 = Anglais (Etats-Unis)
- -2 = Français
- -3 = Allemand
- -4 = Italien
- -5 = Espagnol
- -6 = Portugais (Brésil)
- -7 = Chinois simplifié
- -8 = Chinois traditionnel
- -9 = Coréen
- -10 = Japonais
- -20 = Russe
- -21 = Roumain
- -22 = Polonais
- ValueType
- Obligatoire. type de la valeur d'attribut. Exemple : chaîne ou entier.
- ConditionGroupId
- Facultatif, chaîne : Numéro de référence du groupe de conditions. S'il est indiqué, CatalogFilterId, CatalogFilterName, StoreIdentifier, CatalogIdentifier, CatalogGroupIdentifier et ConditionGroupIdentifier ne sont pas nécessaires.
- CatalogFilterId
- Facultatif, chaîne : Numéro de référence du filtre de catalogue. Si la référence est fournie dans le fichier CSV, elle est utilisée. Si cette zone n'est indiquée, les zones CatalogFilterName, CatalogFilterName, CatalogIdentifier ne sont pas nécessaires.
- Supprimer
- Facultatif, chaîne : Indique s'il faut supprimer cet enregistrement. Cette zone prend effet lorsque dataLoadMode est défini à "replace". Si la valeur de cette zone est égale à deleteValue, l'enregistrement correspondant est supprimé. La valeur par défaut de deleteValue est 1. La valeur deleteValue peut être configurée sous l'élément <DataMapping> dans le fichier BusinessObjectConfigFile.
- CondField1
- Facultatif, long : zone d'extension pour la condition de filtre de catalogue (CFCOND.FIELD1). Séparez plusieurs valeurs avec une virgule.
- CondField2
- Entier, facultatif : zone d'extension pour la condition de filtre de catalogue (CFCOND.FIELD2), Séparez plusieurs valeurs avec une virgule.
- CondField3
- Facultatif, chaîne : zone d'extension pour la condition de filtre de catalogue (CFCOND.FIELD3), la longueur maximale est 254. Séparez plusieurs valeurs avec une virgule.
- CondField4
- Facultatif, nombre à virgule flottante (20,5) : zone d'extension pour la condition de filtre de catalogue (CFCOND.FIELD4). Séparez plusieurs valeurs avec une virgule.
- CondField5
- Facultatif, nombre : zone d'extension pour la condition de filtre de catalogue (CFCOND.FIELD5). Séparez plusieurs valeurs avec une virgule.
- CondValField1
- Facultatif, long : zone d'extension pour la valeur de condition de filtre de catalogue (CFCONDVAL.FIELD1). Séparez plusieurs valeurs avec une virgule.
- CondValField2
- Entier, facultatif : zone d'extension pour la valeur de condition de filtre de catalogue (CFCONDVAL.FIELD2). Séparez plusieurs valeurs avec une virgule.
- CondValField3
- Facultatif, chaîne : zone d'extension pour la valeur de condition de filtre de catalogue (CFCONDVAL.FIELD3), la longueur maximale est 254. Séparez plusieurs valeurs avec une virgule.
- CondValField4
- Facultatif, nombre à virgule flottante (20,5) : zone d'extension pour la valeur de condition de filtre de catalogue (CFCONDVAL.FIELD4). Séparez plusieurs valeurs avec une virgule.
- CondValField5
- Facultatif, nombre : zone d'extension pour la valeur de condition de filtre de catalogue (CFCONDVAL.FIELD5). Séparez plusieurs valeurs avec une virgule.
Données de contexte métier
Le fragment de code suivant du fichier de configuration wc-dataload-env.xml fournit les données de contexte métier requis :
<_config:BusinessContext storeIdentifier="AuroraESite" catalogIdentifier="Extended Sites Catalog Asset Store">
</_config:BusinessContext>
- storeIdentifier
- Chaîne : Identificateur du magasin. Ce paramètre est utilisé lorsque storeIdentifier n'est pas indiqué dans le fichier CSV. Si storeIdentifier est fourni dans le fichier CSV, il est utilisé. storeIdentifier est utilisé pour extraire les éléments storeID et ownerID.
- catalogIdentifier
- Chaîne : Identificateur du catalogue. Ce paramètre est utilisé lorsque l'identificateur de catalogue n'est pas indiqué dans le fichier CSV. Si l'identificateur de catalogue est fourni dans le fichier CSV, il est utilisé.
Données de mappage
Le fragment suivant du fichier d'exemple de configuration illustre comment mapper chaque colonne de données dans le fichier CSV source à une valeur.
<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader"
firstLineIsHeader="true" useHeaderAsColumnName="true" /> Le fragment suivant du fichier d'exemple de configuration illustre comment mapper chaque colonne de données dans le fichier CSV à un chemin de schéma logique d'objet métier. L'attribut 'value' représente le nom d'une colonne du fichier CSV, qui est défini dans le fragment de configuration précédent. Chaque colonne du fichier CSV doit disposer d'un mappage avec le chemin de schéma logique. Si les zones facultatives sont présentes dans le fichier CSV, leur mappage doit être ajouté. Le chemin de schéma logique correspondant est spécifié dans le tableau suivant.
<_config:DataMapping>
<_config:mapping xpath="CatalogFilterIdentifier/UniqueID" value="CatalogFilterId" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/ConditionGroupIdentifier/UniqueID" value="ConditionGroupId" />
<_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/Identifier" value="CatalogFilterName" />
<_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" />
<_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/CatalogIdentifier/ExternalIdentifier/Identifier" value="CatalogIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/CatalogGroupSelectionIdentifier/ExternalIdentifier/CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="CatalogGroupIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/ConditionGroupIdentifier/ExternalIdentifier/Identifier" value="ConditionGroupIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/conditionType" value="ConditionType" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeIdentifier/ExternalIdentifier/Identifier" value="AttributeName" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionOperator" value="Operator" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/identifier" value="AttributeValueIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/StringValue/Value" value="AttributeValue" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/language" value="LanguageId" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/UserData/UserDataField[0]/ValueType" value="ValueType" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField1" value="CondValField1" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField2" value="CondValField2" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField3" value="CondValField3" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField4" value="CondValField4" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField5" value="CondValField5" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField1" value="CondField1" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField2" value="CondField2" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField3" value="CondField3" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField4" value="CondField4" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField5" value="CondField5" />
<_config:mapping xpath="" value="Delete" deleteValue="1"/>
</_config:DataMapping>Médiateur d'objet métier
Le nom de la classe du médiateur est com.ibm.commerce.catalogfilter.dataload.mediator.CatalogFilterConditionMediator.