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

Dans l'outil Marketing, chaque attribut de segment de clientèle doit comporter une définition d'objet.

Procédure

  1. Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
  2. 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/
  3. 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.
  4. Définissez la nouvelle définition d'objet d'attribut de segment de clientèle en créant une définition d'objet enfant :
    1. 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 baseDefinitionName de CSElementAndOrListConditionObjectDefinition.
      • Possède une valeur objectType unique globalement.
      • Contient une ou plusieurs définitions d'objet enfant possédant un baseDefinitionName de CSElementSimpleConditionObjectDefinition utilisé 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>
    2. Définissez une autre définition d'objet enfant qui :
      • S'étend de ChildObjectDefinition.
      • Possède une valeur objectType unique globalement.
      • Est un objet singleInstance.
      • A un templateTypeProperty défini.
      • Possède une valeur idProperty de elementName.
      • Possède un élément Xml nommé template.
      • Possède un ou plusieurs objets ObjectTemplate enfant 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>&gt;=</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>&gt;=</conditionOperator>
                  </object>
               </object>
            </Xml>
          </ObjectTemplate>
      <ChildObjectDefinition>
  5. Ajoutez une référence au nouveau fichier de définition d'objet où qu'il soit utilisé.
  6. Enregistrez le nouvel objet avec le segment de clientèle supérieur ET la définition d'objet de liste :
    1. Ouvrez le fichier LOBTools/WebContent/WEB-INF/src/xml/commerce/marketing/objectDefinitions/customerSegment/TopAndListObjectDefinition.xml.
    2. 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>
    3. Enregistrez et fermez le fichier.