Mise à jour du fichier de configuration de type de promotion
Dans le cas d'un type de promotion personnalisé, vous devez identifier pour le service de promotion les modèles XSLT à utiliser pour la transformation du code XML de création de promotion en code XML d'exécution de promotion. Vous devez également identifier les attributs dont dispose le type de promotion personnalisé. Pour cela, enregistrez le modèle XSLT personnalisé que vous avez créé et les autres attributs du nouveau type de promotion dans un nouveau fichier de configuration de type de promotion.
Procédure
-
Accédez au répertoire suivant :
workspace_dir/WC/xml/config
- Créer un répertoire com.ibm.commerce.promotion-ext.
- Créez un fichier de configuration de type de promotion nommé com.ibm.commerce.promotion.facade.server.config.PromotionComponentConfigurationImpl.xml.
-
Enregistrez le modèle XSLT personnalisé et les autres attributs du nouveau type de promotion dans le nouveau fichier de configuration de type de promotion.
Les types de promotion par défaut sont enregistrés dans un fichier de configuration de type de promotion à l'emplacement suivant :
xml\config\com.ibm.commerce.promotion\com.ibm.commerce.promotion.facade.server.config.PromotionComponentConfigurationImpl.xml
Une entrée dans le fichier de configuration par défaut de type de promotion est similaire à l'exemple de code suivant :
<promotionTypeConfiguration name="OrderLevelPercentDiscount"> <param key="purchaseConditionTemplate" value="OrderPercentOffPurchaseConditionTemplate.xsl"/> <param key="basePromotionTemplate" value="DefaultBasePromotionTemplate.xsl"/> <param key="customConditionTemplate" value="DefaultCustomConditionsTemplate.xsl"/> <param key="targetingConditionTemplate" value="DefaultTargetingConditionTemplate.xsl"/> <param key="promotionGroup" value="OrderLevelPromotion"/> <param key="calculationCodeDisplayLevel" value="1"/> </promotionTypeConfiguration>L'exemple suivant correspond à un fichier de configuration de type de promotion personnalisé. Les différences par rapport à l'exemple précédent sont indiquées en gras. Ici, le fichier de configuration de type de promotion indique que le nouveau type de promotion "MyOrderLevelPercentDiscount" utilise le modèle "MyOrderLevelPercentDiscountPurchaseConditionTemplate.xsl" pour transformer les conditions d'achat ; d'autres éléments de la promotion, par exemple <CustomConditions> et <TargetingCondition>, utilisent les modèles par défaut.
<promotionTypeConfiguration name="MyOrderLevelPercentDiscount"> <param key="purchaseConditionTemplate" value="MyOrderPercentOffPurchaseConditionTemplate.xsl"/> <param key="basePromotionTemplate" value="DefaultBasePromotionTemplate.xsl"/> <param key="customConditionTemplate" value="DefaultCustomConditionsTemplate.xsl"/> <param key="targetingConditionTemplate" value="DefaultTargetingConditionTemplate.xsl"/> <param key="promotionGroup" value="OrderLevelPromotion"/> <param key="calculationCodeDisplayLevel" value="1"/> </promotionTypeConfiguration>Les deux derniers paramètres remplissent les fonctions suivantes :- 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.
Exemple
<?xml version="1.0" encoding="UTF-8"?>
<promotionComponentRegistry>
<promotionTypeConfiguration name="ProductLevelPWPFixedCostDiscount">
<param key="purchaseConditionTemplate" value="ProductPurchaseWithPurchaseFixedCostPurchaseConditionTemplate.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>