Creating the object template for the new promotion type
Create an object template to define the object structure for the custom promotion type. All promotions defined in the Promotions tool use the same primary object definition. The purpose of the object template is to model the differences between the promotion types. There is one object template for each promotion type. The object template contains all the objects that each promotion type requires.
About this task
- Whether the promotion is an order-level, category-level, or catalog-entry-level promotion
- Whether the discount is a fixed price, a percentage off, an amount off, or a free gift
Create an object template to define the unique properties for your custom promotion type.
Procedure
- Open HCL Commerce Developer and switch to the Enterprise Explorer view.
-
Create a directory to store your new promotion element object template.
You can store the file in a directory structure similar to the following example: LOBTools/WebContent/config/your_company_name/promotion/objectDefinitions/promotionTypes
- Create a new XML file for the promotion object template.
- Create the promotion object template.See the example at the end of this procedure.
- Register the new template definition wherever it is used.
Example
For your custom promotion type, Customers who purchase two dining chairs (FULO-01) qualify to purchase a dining table (FULO-02) at the reduced price of $200, the object template looks like the following sample:
<Definitions>
<ObjectTemplate definitionName="proProductLevelPWPFixedCostDiscountTemplate" 1
templateType="ProductLevelPWPFixedCostDiscount" 2
displayName="Buy X get Y at a fixed cost"
description="Offers a fixed cost discount on a catalog entry when the order includes some other specified catalog entry">
<Xml name="template">
<object objectType="ProductLevelPWPFixedCostPurchaseCondition"> 3
<object objectType="Purchase"/> 4a
<object objectType="Reward"/> 4b
</object>
</Xml>
</ObjectTemplate>
</Definitions>
The following describes the lines
with black numbered callouts:
- 1 This is a unique name you define for this template definition.
- 2 This is the name you defined for this custom promotion type in the task Modeling the runtime promotion XML.
- 3 This is the name of the purchase condition object definition you defined in the task Creating the object definitions for the new promotion type.
- 4a,b You can add additional code to instantiate additional objects to be used for your user interface.
In this example, the code to register this new template where it is used looks like
this:
<PrimaryObjectDefinition definitionName="proBasePromotionPrimaryObjectDefinition"
isBaseDefinition="true"...>
.
.
.
<ObjectTemplate baseDefinitionName="proProductLevelPWPFixedCostDiscountTemplate"/>
.
.
</PrimaryObjectDefinition>