Dans cette leçon, vous extrayez un modèle XSL pour le nouveau type de promotion et étudiez sa structure. Vous l'enregistrez ensuite en tant que nouvelle règle de promotion. La fonction du modèle XSL est de transformer le code XML de création de promotion en code XML d'exécution de promotion. Cette transformation se produit lorsqu'une promotion basée sur ce type de promotion est activée dans le Management Center.
Pourquoi et quand exécuter cette tâche
Le modèle XSL nécessaire est accessible via un lien indiqué dans la procédure suivante ; vous n'avez donc pas à le créer entièrement pour le présent tutoriel. Ce nouveau modèle XSL doit être enregistré dans le registre de configuration de promotion en tant que nouvelle règle de promotion. Cette action est requise pour que vous puissiez activer le nouveau type de promotion. Pour des informations détaillées sur les fonctions de modèle XSL, reportez-vous à la rubrique Création d'un type de promotion personnalisé dans le Centre de gestion.
Procédure
-
Créez un répertoire pour le modèle XSL :
-
Dans un utilitaire de gestion de fichiers, accédez au répertoire où vous avez extrait le code source du tutoriel que vous avez téléchargé à partir de l'introduction du tutoriel.
-
Dans le package de code source extrait, accédez au répertoire workspace\WC\xml\config\com.ibm.commerce.promotion-ext\template et copiez le fichier ProductLevelFreeGiftPurchaseConditionTemplate.xsl.
-
Dans votre espace de travail, accédez au répertoire workspace_dir\WC\xml\config.
-
Créez l'arborescence de répertoires com.ibm.commerce.promotion-ext\template.
-
Ajoutez le fichier ProductLevelFreeGiftPurchaseConditionTemplate.xsl copié dans votre nouveau répertoire template.
-
Ouvrez le fichier à l'aide d'un éditeur de texte ou d'un éditeur XML, puis observez les principales caractéristiques du modèle ProductLevelFreeGiftPurchaseConditionTemplate.xsl :
- La section principale du fichier XSL est
<xsl:template name="PurchaseConditionTemplate" match="/">, qui définit le modèle de transformation pour la condition d'achat. Dans la première leçon de ce tutoriel, vous avez appris que la condition d'achat est l'élément clé du nouveau type de promotion.
- Sous PurchaseConditionTemplate, deux éléments principaux peuvent être mappés sur les éléments XML d'exécution de promotion correspondants,
<Pattern> et <Distribution>.
- Certaines variables du modèle sont utilisées pour transformer les données XML de création de promotion en données XML d'exécution de promotion. Elles utilisent l'élément
<xsl:value-of> pour extraire les données, par exemple :
<LowerBound><xsl:value-of select="PromotionData/Elements/PurchaseCondition/Data/BaseItemTotalPrice" /></LowerBound>
- Certains éléments peuvent comporter plusieurs instances ; le modèle utilise l'élément
<xsl:for-each> pour extraire les valeurs multiples des éléments, par exemple : <xsl:for-each select="PromotionData/Elements/PurchaseCondition/IncludeCatalogEntryIdentifier">
-
Enregistrez le modèle XSL.
Pour ce faire, créez un fichier indiquant au service de promotion quels modèles XSL doivent être utilisés pour transformer le code XML de création de promotion en code XML d'exécution de promotion. Référencez le modèle XSL personnalisé dans ce fichier.
-
Dans votre répertoire workspace_dir\WC\xml\config\com.ibm.commerce.promotion-ext, créez un fichier nommé com.ibm.commerce.promotion.facade.server.config.PromotionComponentConfigurationImpl.xml.
-
Ouvrez le fichier pour l'éditer et ajoutez-y le code suivant.
<?xml version="1.0" encoding="UTF-8"?>
<promotionComponentRegistry impl="com.ibm.commerce.promotion.facade.server.config.PromotionComponentRegistry">
<promotionTemplateRelativePath="template">
<promotionTypeConfiguration name="ProductLevelFreeGift" >
<param key="purchaseConditionTemplate" value="ProductLevelFreeGiftPurchaseConditionTemplate.xsl"/>
<param key="basePromotionTemplate" value="DefaultBasePromotionTemplate.xsl"/>
<param key="customConditionTemplate" value="DefaultCustomConditionsTemplate.xsl"/>
<param key="targetingConditionTemplate" value="DefaultTargetingConditionTemplate.xsl"/>
<param key="promotionGroup" value="ProductLevelPromotion"/>
<param key="calculationCodeDisplayLevel" value="0"/>
</promotionTypeConfiguration>
</promotionComponentRegistry>
Dans l'exemple de code précédent, observez la quatrième ligne qui apparaît en caractères gras. Cette ligne enregistre le nouveau modèle XSL personnalisé. Les autres modèles référencés dans ce tutoriel sont les modèles XSL par défaut. Vous pouvez utiliser ces versions de modèle par défaut car vous n'avez pas personnalisé ces parties de votre promotion.
Observez également les deux derniers paramètres, promotionGroup et calculationCodeDisplayLevel.
- promotionGroup : Ce paramètre désigne le groupe de promotions auquel appartient le type de promotion, à savoir le niveau commande, le niveau produit ou la livraison.
- calculCodeDisplayLevel : Ce paramètre définit les informations affichées aux clients sur la vitrine, relatives à l'ajustement du prix de promotion. La valeur 0 (niveau d'affichage de l'article de commande) signifie qu'un client voit l'ajustement réparti pour chaque article de sa commande. La valeur 1 (niveau d'affichage de commande) signifie que le client voit l'ajustement pour la totalité de la commande dans un récapitulatif.
-
Enregistrez et fermez le fichier.
-
Redémarrez HCL Commerce Test Server pour charger les nouveaux modèles XSL et registre XSL.
Résultats
Vous avez terminé toutes les étapes de création d'un type de promotion. Dans les leçons suivantes, vous allez vérifier le nouveau type de promotion dans le Management Center et sur la vitrine.