Creación de la plantilla de objeto

En esta lección, creará una plantilla de objeto para definir la estructura de objetos para la promoción. La plantilla de objetos contiene todos los objetos que requiere cada tipo de promoción. Hay una plantilla de objetos para cada tipo de promoción definido en la herramienta Promociones para especificar las propiedades exclusivas del tipo de promoción.

Por qué y cuándo se efectúa esta tarea

La mayor parte de las propiedades de promoción son comunes para todos los tipos de promoción. Por ejemplo, si compara la interfaz de usuario para determinadas propiedades, por ejemplo, el límite de aplicación y la planificación de la promoción, generalmente son iguales entre un tipo de promoción y el siguiente. Por otro lado, las propiedades de las condiciones de compra y bonificación varían en función de:
  • Si la promoción es a nivel de pedido, a nivel de entrada de catálogo o a nivel de categoría
  • Si el descuento es un precio fijo, un porcentaje, un descuento o un regalo gratuito.

La plantilla de objetos que va a añadir, extProductLevelFreeGiftTemplate, es una promoción a nivel de producto, con una bonificación de regalo gratis.

Procedimiento

  1. Cree una carpeta nueva para la plantilla:
    1. En la vista Enterprise Explorer, expanda LOBTools > WebContent > WEB-INF > src > xml > mycompany > promotion > objectDefinitions
    2. Haga clic en el botón derecho del ratón en la carpeta objectDefinitions y Haga clic en Nuevo > Carpeta.
    3. En el campo Nombre de carpeta, escriba promotionTypes.
    4. Haga clic en Finalizar.
  2. Cree un nuevo archivo para la plantilla de promoción:
    1. Haga clic en el botón derecho del ratón en la carpeta promotionTypes.
    2. Haga clic en Nuevo > Archivo. Llame al archivo: ProductLevelFreeGiftTemplate.xml
    3. Haga clic en Finalizar para guardar el archivo.
      Se abre el archivo en el editor XML predeterminado.
  3. Copie y pegue el código siguiente en el archivo de definición:
    
    <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>
    Observe el elemento <object> definido en la plantilla. El valor objectType se almacenará en la columna SUBTYPE de la tabla PX_ELEMENT.
  4. Guarde y cierre el archivo.
  5. Añada la nueva plantilla a la definición del objeto principal de promoción.
    1. Expanda LOBTools > WebContent > WEB-INF > src > xml > commerce > promotion > objectDefinitions
    2. Abra el archivo PromotionPrimaryObjectDefinition.xml.
    3. Localice la sección del archivo en la que se declaran otras plantillas, como se muestra en el siguiente ejemplo XML de algunas plantillas:
      
      <ObjectTemplate baseDefinition="cmc/promotion/ProductLevelFixedCostDiscountTemplate"/>
      <ObjectTemplate baseDefinition="cmc/promotion/ProductLevelPerItemFixedCostDiscountTemplate"/>
      
    4. Inserte el código siguiente al final de la lista de plantillas:
      
      <!-- Customization: Promotion template of the new promotion type -->
      <ObjectTemplate baseDefinition="cmc/promotion/ExtProductLevelFreeGiftTemplate"/>
      Este nuevo tipo de promoción aparecerá ahora en la lista de tipos de promociones de la interfaz de usuario de la herramienta Promociones.
    5. Guarde y cierre el archivo.

Resultados

En esta lección ha creado la plantilla de interfaz de usuario de la promoción. En la lección siguiente comenzará a crear los widgets personalizados que necesita para dar soporte a su promoción en la interfaz de usuario del Centro de gestión.