Crear y registrar la plantilla XSL

En esta lección, recuperará una plantilla XSL para el nuevo tipo de promoción y obtendrá información acerca de su estructura. A continuación, la registrará como una nueva norma de promoción. La finalidad de la plantilla XSL es transformar el XML de creación de promoción en XML de tiempo de ejecución de promoción. Esta transformación se lleva a cabo cuando una promoción basada en este tipo de promoción se activa en el Management Center.

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

La plantilla XSL que necesita está disponible en un enlace en el procedimiento siguiente, para que no tenga que crearla desde cero para esta guía de aprendizaje. Esta nueva plantilla XSL se debe registrar en el registro de configuración de la promoción como una nueva norma de promoción. Este es un requisito previo para poder habilitar el nuevo tipo de promoción. Para obtener información detallada sobre las funciones de la plantilla XSL, consulte Crear un tipo de promoción personalizado en el Centro de gestión.

Procedimiento

  1. Cree un directorio nuevo para la plantilla XSL:
    1. En un programa de utilidad gestor de archivos, vaya al directorio donde haya extraído el código fuente de la guía de aprendizaje que ha descargado de la introducción de la misma.
    2. Dentro del paquete de código fuente extraído, vaya al Directorio workspace\WC\xml\config\com.ibm.commerce.promotion-ext\template y copie el archivo ProductLevelFreeGiftPurchaseConditionTemplate.xsl.
    3. En el área de trabajo, vaya al directorio workspace_dir\WC\xml\config.
    4. Cree la estructura de directorio com.ibm.commerce.promotion-ext\template.
    5. Añada los archivos ProductLevelFreeGiftPurchaseConditionTemplate.xsl copiados en este directorio template.
  2. Abra el archivo con cualquier editor de texto o XML, y revise las características principales de la plantilla ProductLevelFreeGiftPurchaseConditionTemplate.xsl:
    • La sección principal del archivo XSL es <xsl:template name="PurchaseConditionTemplate" match="/">, que define las plantillas de transformación para la condición de compra. En la primera lección de esta guía de aprendizaje, ha aprendido que la condición de compra es el elemento clave del nuevo tipo de promoción.
    • En PurchaseConditionTemplate, hay dos elementos principales que se pueden correlacionar con los elementos XML de promoción correspondientes, <Pattern> y <Distribution>.
    • En la plantilla se incluyen algunas variables que se utilizan para transformar los datos del XML de creación de promoción en datos XML de tiempo de ejecución de promoción. Utilice el elemento <xsl:value-of> para recuperar los datos, por ejemplo:
      
      <LowerBound><xsl:value-of select="PromotionData/Elements/PurchaseCondition/Data/BaseItemTotalPrice" /></LowerBound>
    • Para algunos elementos, pueden haber varias instancias. La plantilla utiliza el elemento <xsl:for-each>para recuperar los diferentes valores de los elementos, por ejemplo:
      <xsl:for-each select="PromotionData/Elements/PurchaseCondition/IncludeCatalogEntryIdentifier">
  3. Registre la plantilla XSL.
    Para hacerlo, cree un archivo que indique al servicio de promoción qué plantillas XSL se han de utilizar para transformar el XML de creación de promoción en XML de tiempo de ejecución de promoción. En este archivo se hace referencia a la plantilla XML personalizada.
    1. En el directorio workspace_dir\WC\xml\config\com.ibm.commerce.promotion-ext, cree un archivo que se denomine com.ibm.commerce.promotion.facade.server.config.PromotionComponentConfigurationImpl.xml.
    2. Abra el archivo para editarlo, y añada el código siguiente en el archivo.
      
      <?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>
      En el ejemplo de código anterior, observe la cuarta línea, que aparece en el texto en negrita. Esta línea registra la nueva plantilla XSL personalizada. Las otras plantillas a las que se hace referencia aquí son las plantillas XSL predeterminadas. Puede utilizar estas versiones de plantillas predeterminadas porque no ha personalizado estas partes de su promoción.
      Asimismo, observe los últimos dos parámetros, promotionGroup y calculationCodeDisplayLevel.
      • promotionGroup: Este parámetro hace referencia al grupo de promociones al que pertenece el tipo de promoción, es decir, nivel de pedido, nivel de producto o envío.
      • calculationCodeDisplayLevel: Este parámetro define lo que los clientes ven en el escaparate independientemente del ajuste de precio de la promoción. El valor 0 (nivel de visualización de artículo de pedido) significa que un cliente ve el ajuste desglosado para cada artículo individual de su pedido. El valor 1 (nivel de visualización de pedido) significa que el cliente ve el ajuste para todo el pedido en un resumen.
    3. Guarde y cierre el archivo.
    4. Reinicie el servidor de prueba de HCL Commerce para cargar la nueva plantilla XSL y el nuevo registro XSL.

Resultados

Ahora ha completado todos los pasos para crear un nuevo tipo de promoción. En las lecciones restantes, verificará el nuevo tipo de promoción en el Management Center y en el escaparate.