Dans cette leçon, vous créez un fichier de définition qui définit les composants d'interface utilisateur utilisés par les professionnels pour créer une promotion à l'aide du Centre de gestion. Ces composants incluent la grille de cadeaux de récompense personnalisés que vous avez créée dans la leçon précédente.
Pourquoi et quand exécuter cette tâche
Comme vous l'avez appris dans la leçon précédente, les objets fenêtre d'entrée nécessaires à l'interface utilisateur de l'outil Promotions ont déjà été définis pour être utilisés dans les types de promotion existants. Dans le Centre de gestion, chaque définition d'objet a une définition de vue des propriétés différente, utilisée pour éditer les propriétés de ce type d'objet spécifique. Dans l'outil Promotions, toutes les promotions sont représentées par un type d'objet unique. Cela signifie qu'elles partagent toutes la même définition de vue des propriétés. Chaque promotion a ensuite un groupe de propriétés spécifique de ce type de promotion. Lorsqu'un professionnel crée une promotion, seuls les groupes de propriétés pour ce type de promotion spécifique sont affichés dans l'interface utilisateur de l'outil Promotions.
Dans cette leçon, vous définissez un groupe de propriétés contenant les widgets pour la section Condition d'achat et récompense de l'interface utilisateur spécifique du nouveau type de promotion. La vue de propriétés obtenue se présente comme suit :

Procédure
-
Créez un répertoire pour l'objet propriétés :
-
Dans le vue Explorateur d'entreprise, accédez au répertoire .
-
Cliquez avec le bouton droit de la souris sur le dossier promotion, puis cliquez sur .
-
Dans la zone Nom de dossier, entrez propertiesViews. Cliquez sur Terminer.
-
Cliquez avec le bouton droit de la souris sur le dossier propertiesViews et cliquez sur .
-
Dans la zone Nom de dossier, entrez promotionTypes. Cliquez sur Terminer.
-
Créez un fichier pour définir le groupe de propriétés :
-
Cliquez avec le bouton droit sur le dossier promotionTypes.
-
Cliquez sur .
-
Nommez votre nouveau fichier ProductLevelFreeGiftProperties.xml
-
Cliquez sur Terminer pour sauvegarder le fichier.
Le fichier apparaît dans l'éditeur XML par défaut.
-
Copiez et collez le bloc de code suivant dans le fichier.
<Definitions>
<!--Property group for the ProductLevelFreeGift promotion.-->
<PropertyGroup collapsable="false" definitionName="cmc/promotion/ExtProductLevelFreeGiftProperties">
<dependency localName="promotionResources" moduleName="cmc/promotion/PromotionResources"/>
<dependency localName="ExtPromotionResources" moduleName="cmc/promotion/ExtPromotionResources"/>
<EnablementCondition conditionId="promotionType" enablementValue="ProductLevelFreeGift" propertyName="promotionType"/>
<PropertyGroup groupTitle="${promotionResources.promotion_purchaseConditionAndRewardTitle}"
name="purchaseConditionAndRewardGroup" open="true">
1<PropertyGroup collapsable="false" displayGrouping="true" name="purchaseConditionGroup">
<PropertyChildListEditor helpText="${promotionResources.promotion_Product_Promotion_SKU_Search_helpText}"
listDefinition="cmc/promotion/ProductElementTypeGrid" name="catalogEntry"
objectPath="ProductLevelFreeGiftPurchaseCondition" objectTypes="Identifier_CatalogEntry,Identifier_InheritedCatalogEntry"
promptText="${promotionResources.promotion_Select_Catalog_Entry}" required="true"/>
<PropertyStepper objectPath="ProductLevelFreeGiftPurchaseCondition"
promptText="${ExtPromotionResources.promotion_Minimum_purchase_TotalPrice}" propertyName="BaseItemTotalPrice" required="true"/>
</PropertyGroup>
2<PropertyGroup collapsable="false" displayGrouping="true" name="rewardGroup">
<PropertyChildListEditor helpText="${promotionResources.promotion_FreeGift_SKU_Search_helpText}"
listDefinition="cmc/promotion/ExtProGiftRewardGrid" name="giftSKU" objectPath="ProductLevelFreeGiftPurchaseCondition"
objectTypes="Identifier_GiftCatalogEntry,Identifier_InheritedGiftCatalogEntry"
promptText="${promotionResources.promotion_Free_gift_sku}" required="true"/>
</PropertyGroup>
</PropertyGroup>
</PropertyGroup>
</Definitions>
Dans cet échantillon de code, le groupe de propriétés est séparé en deux sous-groupes :
- 1 purchaseConditionGroup
- Le premier widget instancié dans ce sous-groupe est un widget PropertyChildListEditor. Dans le Centre de gestion, les professionnels utilisent ce widget pour indiquer l'entrée de catalogue qui doit être achetée pour entrer dans le cadre de la promotion.
objectPath indique à quel emplacement dans le modèle, cette valeur en entrée sera stockée. objectTypes indique les types d'objets pouvant être affichés dans la liste. listDefinitionName indique la définition de cette vue. Le deuxième widget est PropertyStepper. Dans le Centre de gestion, les professionnels utilisent cet objet fenêtre pour sélectionner le seuil de prix total des entrées de catalogue devant être achetées.
- 2 rewardGroup
- Le widget PropertyChildListEditor est instancié dans ce sous-groupe. Dans le Centre de gestion, les professionnels utilisent ce widget pour indiquer plusieurs entrées de catalogue en tant que cadeaux. Dans cette section, examinez la ligne en caractères gras. La valeur de l'attribut
listDefinitionName est "extProGiftRewardGrid" ; il s'agit de votre grille de cadeaux de récompense personnalisés. Pour permettre à des professionnels d'ajouter des lignes à la grille de cadeaux de récompense, la ligne en caractères gras n'inclut par l'attribut singleChild="true" ; par conséquent, cette grille peut comporter plusieurs lignes.
Notez la ligne située vers le début du fragment de code et contenant l'élément <EnablementCondition>. Elle indique si l'objet parent est activé. Dans ce code de personnalisation, le nouveau groupe de propriétés de type de promotion est activé uniquement lorsque la valeur de promotionType est ProductLevelFreeGift. Les professionnels sélectionnent le type de promotion dans la fenêtre Sélecteur de type de promotion, dans l'outil Promotions.
-
Enregistrez et fermez le fichier.
-
Ajoutez votre nouveau groupe de propriétés à la définition de la vue des propriétés des promotions. Ajoutez le nouveau groupe de propriétés dans la définition du panneau de propriétés, PromotionManageTabPaneContent, située dans le fichier PromotionPropertiesView.xml :
-
Développez .
-
Ouvrez le fichier PromotionPropertiesView.xml.
-
Localisez la section du fichier où les autres groupes de propriétés sont instanciés. Voici quelques exemples.
<PropertyGroup baseDefinition="cmc/promotion/MultipleItemsGetYPercentDiscountProperties"/>
<PropertyGroup baseDefinition="cmc/promotion/MultipleItemsGetYFixedAmountOffDiscountProperties"/>
<PropertyGroup baseDefinition="cmc/promotion/RedemptionLimits"/>
-
Ajoutez votre groupe de propriétés de promotion au bas de la liste en ajoutant le code suivant.
<!-- Customization: Properties View for new Promotion Type -->
<PropertyGroup baseDefinition="cmc/promotion/ExtProductLevelFreeGiftProperties"/>
-
Enregistrez et fermez le fichier.
Résultats
Dans le présent tutoriel, vous avez modélisé le code XML d'exécution de promotion, planifié l'interface utilisateur et créé des groupes de ressources pour des chaînes de texte personnalisées. Vous avez également créé la définition de la vue de propriétés pour le nouveau type de promotion et vous l'avez ajouté dans la liste de vue des propriétés principales. Vous avez également créé les principales définitions d'élément d'interface utilisateur pour le nouveau type de promotion, c'est-à-dire la définition d'objet, le modèle et la vue de propriétés. Dans la prochaine leçon, vous ajoutez votre type de promotion à la fenêtre Sélecteur de type de promotion afin de permettre aux professionnels de sélectionner le nouveau type de promotion comme point de départ d'une Promotion.