Création du modèle d'objet

Dans la présente leçon, vous créez un modèle d'objet afin de définir la structure d'objet pour la promotion. Le modèle d'objet contient tous les objets requis par chaque type de promotion. Un modèle d'objet pour chaque type de promotion est défini dans l'outil Promotions afin d'indiquer les propriétés uniques du type de promotion.

Pourquoi et quand exécuter cette tâche

La plupart des propriétés de promotion sont communes à tous les types de promotion. Par exemple, si vous comparez certaines propriétés de l'interface utilisateur, par exemple le délai d'échange et le planning de la promotion, ils sont généralement identiques entre un type de promotion et le type suivant. D'autre part, les propriétés des conditions d'achat et de récompense varient en fonction des éléments suivants :
  • La promotion est-elle au niveau de la commande, de l'entrée de catalogue ou de la catégorie ?
  • La remise consiste-t-elle en un prix fixe, un pourcentage, un montant ou un cadeau ?

Le modèle d'objet que vous ajoutez, extProductLevelFreeGiftTemplate, est une promotion au niveau du produit, avec comme récompense un article offert.

Procédure

  1. Créez un dossier pour le modèle :
    1. Dans la vue Explorateur d'entreprise, développez LOBTools > WebContent > WEB-INF > src > xml > mycompany > promotion > objectDefinitions.
    2. Cliquez à l'aide du bouton droit de la souris sur le dossier objectDefinitions, puis cliquez sur Nouveau > Dossier.
    3. Dans la zone Nom de dossier, entrez promotionTypes.
    4. Cliquez sur Terminer.
  2. Créez un nouveau fichier pour le modèle de promotion :
    1. Cliquez avec le bouton droit sur le dossier promotionTypes.
    2. Cliquez sur Nouveau > Fichier. Nom du fichier : ProductLevelFreeGiftTemplate.xml
    3. Cliquez sur Terminer pour sauvegarder le fichier.
      Le fichier apparaît dans l'éditeur XML par défaut.
  3. Copiez et collez le code suivant dans ce fichier de définition :
    
    <Definitions>
      <!--Object template for extended promotion type ProductLevelFreeGift. -->
      <ObjectTemplate definitionName="cmc/promotion/ExtProductLevelFreeGiftTemplate" description="${ExtPromotionResources.promotion_type_description_ProductLevelFreeGift}" displayName="${ExtPromotionResources.promotion_type_ProductLevelFreeGift}" templateType="ProductLevelFreeGift">
        <dependency localName="ExtPromotionResources" moduleName="cmc/promotion/ExtPromotionResources"/>
        <Xml name="template">
          <object objectType="ProductLevelFreeGiftPurchaseCondition"/>               
        </Xml>
      </ObjectTemplate>
    </Definitions>
    Notez les éléments <object> définis dans le modèle ; la valeur objectType est stockée dans la colonne SUBTYPE de la table PX_ELEMENT.
  4. Enregistrez et fermez le fichier.
  5. Ajoutez votre nouveau modèle à la définition de l'objet principal de promotion.
    1. Développez LOBTools > WebContent > WEB-INF > src > xml > commerce > promotion > objectDefinitions.
    2. Ouvrez le fichier PromotionPrimaryObjectDefinition.xml.
    3. Localisez la section du fichier où les autres modèles sont déclarés, comme illustré dans l'exemple XML suivant correspondant à plusieurs modèles :
      
      <ObjectTemplate baseDefinition="cmc/promotion/ProductLevelFixedCostDiscountTemplate"/>
      <ObjectTemplate baseDefinition="cmc/promotion/ProductLevelPerItemFixedCostDiscountTemplate"/>
      
    4. Insérez le code suivant à la fin de la liste de modèles :
      
      <!-- Customization: Promotion template of the new promotion type -->
      <ObjectTemplate baseDefinition="cmc/promotion/ExtProductLevelFreeGiftTemplate"/>
      Ce nouveau type de promotion apparaît à présent dans la liste de types Promotion, dans l'interface utilisateur de l'outil Promotions.
    5. Enregistrez et fermez le fichier.

Résultats

Dans cette leçon, vous avez crée le modèle d'interface utilisateur de promotion. Dans la leçon suivante, vous allez créer les widgets personnalisés qui vous permettront de prendre en charge votre promotion dans l'interface utilisateur du Centre de gestion.