Création de la définition d'objet pour l'attribut de segment de clientèle
Créez une définition d'objet OpenLaszlo pour le nouvel attribut de segment de clientèle afin de collecter les entrées effectuées depuis l'interface utilisateur du Centre de gestion. Lorsque les professionnels soumettent des données sur le nouvel attribut d'un segment de clientèle, la définition d'objet conserve ces données dans la table de base de données MGPCONDELE.
Pourquoi et quand exécuter cette tâche
Procédure
- Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
- Créez un répertoire pour héberger votre nouvelle définition d'objet de segment de clientèle.Utilisez une structure de répertoire similaire à l'exemple suivant :
- LOBTools/WebContent/WEB-INF/src/xml/your_company_name/marketing/objectDefinitions/customerSegment/
- Créez le fichier de la définition d'objet de l'attribut de segment de clientèle. Attribuez un nom à ce fichier en respectant la syntaxe suivante : attribute_nameObjectDefinition.xml ; par exemple, LoyaltyPointsObjectDefinition.xml.
-
Définissez la nouvelle définition d'objet d'attribut de segment de clientèle en créant une définition d'objet enfant :
- Définissez une nouvelle définition d'objet enfant pour représenter une condition de liste OR ou AND d'attribut de segment de clientèle qui :
- S'étend de
ChildObjectDefinition. - A un
baseDefinitionNamedeCSElementAndOrListConditionObjectDefinition. - Possède une valeur
objectTypeunique globalement. - Contient une ou plusieurs définitions d'objet enfant possédant un
baseDefinitionNamedeCSElementSimpleConditionObjectDefinitionutilisé pour représenter une condition simple de segment de clientèle.
Voici un exemple :<Definitions> <ChildObjectDefinition definitionName = "LoyaltyPointsListObjectDefinition" objectType = "LoyaltyPointsList" baseDefinitionName = "CSElementAndOrListConditionObjectDefinition"> <ChildObjectDefinition objectType = "LoyaltyPointsCondition" baseType = "CSElementSimpleConditionObjectDefinition"> <Xml name = "template"> <conditionVariable>loyalty</conditionVariable> </Xml> <PropertyDefinition propertyName = "conditionValue" required = "true" type = "integer" displayName = "Number of points"/> </ChildObjectDefinition> </ChildObjectDefinition> </Definitions> - S'étend de
- Définissez une autre définition d'objet enfant qui :
- S'étend de
ChildObjectDefinition. - Possède une valeur
objectTypeunique globalement. - Est un objet
singleInstance. - A un
templateTypePropertydéfini. - Possède une valeur
idPropertydeelementName. - Possède un élément
Xmlnommétemplate. - Possède un ou plusieurs objets
ObjectTemplateenfant définis. - Contient une définition d'enfant basée sur
CSElementAndOrListConditionDefinition.
Voici un exemple qui ajoute cette nouvelle définition d'objet enfant comme élément enfant de l'élément Definitions :<ChildObjectDefinition definitionName = "extLoyaltyPointsObjectDefinition" objectType = "LoyaltyPoints" singleInstance = "true" templateTypeProperty = "template" idProperty = "elementName"> <Xml name = "template"> <elementName>LoyaltyPoints</elementName> <template>ignore</template> </Xml> <ChildObjectDefinition baseDefinitionName = "LoyaltyPointsListObjectDefinition"/> <ObjectTemplate templateType = "ignore" displayName = "Ignore customer loyalty points"> <Xml name = "template"/> </ObjectTemplate> <ObjectTemplate templateType = "lessThan" displayName = "Number of points is less than or equal to the following number"> <Xml name = "template"> <object objectType = "LoyaltyPointsList"> <elementName>loyalty</elementName> <conditionUsage>orListCondition</conditionUsage> <object objectType = "LoyaltyPointsCondition"> <conditionOperator><=</conditionOperator> </object> </object> </Xml> </ObjectTemplate> <ObjectTemplate templateType = "greaterThan" displayName = "Number of points is greater than or equal to the following number"> <Xml name = "template"> <object objectType = "LoyaltyPointsList"> <elementName>loyalty</elementName> <conditionUsage>orListCondition</conditionUsage> <object objectType = "LoyaltyPointsCondition"> <conditionOperator>>=</conditionOperator> </object> </object> </Xml> </ObjectTemplate> <ObjectTemplate templateType = "between" displayName = "Number of points is within the following range"> <Xml name = "template"> <object objectType = "LoyaltyPointsList"> <elementName>loyalty</elementName> <conditionUsage>andListCondition</conditionUsage> <object objectType = "LoyaltyPointsCondition" name="upperBound"> <conditionOperator><=</conditionOperator> </object> <object objectType = "LoyaltyPointsCondition" name="lowerBound"> <conditionOperator>>=</conditionOperator> </object> </object> </Xml> </ObjectTemplate> <ChildObjectDefinition> - S'étend de
- Définissez une nouvelle définition d'objet enfant pour représenter une condition de liste OR ou AND d'attribut de segment de clientèle qui :
- Ajoutez une référence au nouveau fichier de définition d'objet où qu'il soit utilisé.
-
Enregistrez le nouvel objet avec le segment de clientèle supérieur ET la définition d'objet de liste :
- Ouvrez le fichier LOBTools/WebContent/WEB-INF/src/xml/commerce/marketing/objectDefinitions/customerSegment/TopAndListObjectDefinition.xml.
- Ajoutez une instance du nouvel objet d'instance unique de condition de segment de clientèle en insérant un élément similaire à l'exemple ci-après (voir la ligne en caractères gras) :
<ChildObjectDefinition definitionName="cmc/marketing/TopAndListObjectDefinition" idProperty="elementName" objectType="TopAndList"> … <ChildObjectDefinition baseDefinitionName="cmc/marketing/LoyaltyPointsListObjectDefinition"/> … </ChildObjectDefinition> - Enregistrez et fermez le fichier.