Personalización del widget de zona de E-Marketing

Personalice un widget suministrado para modificar su comportamiento para utilizarlo en el escaparate. En este ejemplo de personalización, el widget de zona de E-Marketing se ha personalizado para incluir un mensaje estático. Para ello, debe copiar el widget y todas sus dependencias estáticas en el archivador web de tienda personalizado y actualizar el widget JSP para hacer referencia correctamente a las dependencias tanto del archivador web de tienda personalizado como del archivador web de tienda suministrado por IBM. Para obtener más información sobre el widget de zona de E-Marketing, consulte Widget de Zona de E-Marketing. Para más información sobre la creación de widgets, consulte Creación de widgets.

Procedure

  1. Cree el widget personalizado en el archivador web de tienda personalizado.
    Por ejemplo:
    1. Copie el archivo JavaServer Page del widgetEMarketingSpot.jsp del archivador web de tiendas suministrado por IBM (crs-web.war) en el archivador web de tienda personalizado (crs-web.war).
      1. Copie el archivo original del archivador web de tienda proporcionado por IBM del directorio /WebContent/Widgets_701/.
      2. Coloque el archivo en el archivador web de tienda personalizado bajo el directorio /WebContent/Widgets_MyCompany/com.ibm.commerce.store.widgets.EMarketingSpot y cambie el nombre por MyEMarketingSpot.jsp. El directorio Widgets_MyCompany contendrá todos los widgets personalizados.
    2. Abra el archivo MyEmarketingSpot.jsp con un editor de texto.
    3. Actualice el JSP de widget personalizado para que apunte al archivador web suministrado por IBM para que dependa de los archivos JSP existentes.
      1. Localice las referencias de etiquetas <c:import> que hacen referencia a otros widgets. Por ejemplo, <c:import url="${env_siteWidgetsDir}com.ibm.commerce.store.widgets.CategoryRecommendation/CategoryRecommendation.jsp">
      2. Cambie cada referencia mediante el atributo context para que utilice el archivador web proporcionado por IBM. Por ejemplo, <c:import context="${staticIBMAssetContextRoot}" url="${env_siteWidgetsDir}com.ibm.commerce.store.widgets.CategoryRecommendation/CategoryRecommendation.jsp">
    4. Actualice el JSP de widget personalizado para que apunte a los fragmentos JSP correctos (archivos JSPF) incluidos por el método de inclusión en el archivo JSP de widget.
      Las inclusiones de JSP estático solamente pueden incluir archivos que están situados en el mismo archivador web. Por lo tanto, debe copiar estas dependencias y actualizar el código de inclusión JSP de widget personalizado para que apunte al directorio correcto para las dependencias dentro del mismo archivador web.
      1. Copie los fragmentos JSP incluidos del archivador web de tienda suministrado por IBM en el archivador web de tienda personalizado. Copie StorePreviewShowInfo_End.jspf, EnvironmentSetup.jspf, EMarketingSpot_Data.jspf, etc.
      2. Localice las referencias de inclusión que hacen referencia a las dependencias de fragmentos JSP. Por ejemplo, <%@ include file="/Widgets_701/Common/StorePreviewShowInfo_End.jspf" %>
      3. Cambie las vías de acceso del archivo de inclusión para que apunten a la nueva ubicación de los fragmentos JSP. Por ejemplo, <%@ include file="../Common/StorePreviewShowInfo_End.jspf" %>
    5. Añada la personalización. En este ejemplo, añada texto al widget.
      1. En el widget JSP, busque la línea <c:forTokens items="${displayOrder}" delims="," var="type" varStatus="status">.
      2. Añada una línea por debajo para insertar una imagen <c:out value=”customizable”/>.
  2. Actualice la definición de widget existente en la base de datos.
    En la tabla PLWIDGETDEF:
    • Establezca VENDOR en MyCompany.
    • Establezca JSPPATH en /Widgets_MyCompany/com.ibm.commerce.store.widgets.EMarketingSpot/MyEMarketingSpot.jsp.
    Para hacerlo, puede utilizar una sentencia como por ejemplo:
    Update PLWIDGETDEF 
    set Vendor=’MyCompany’, JSPPATH=’/Widgets_MyCompany/com.ibm.commerce.store.widgets.EMarketingSpot/MyEMarketingSpot.jsp’ 
    where IDENTIFIER=’EMarketingSpot_701’ and STOREENT_ID=’0’;
  3. Reinicie el servidor de tienda.

Results

Vaya hasta el escaparate para observar el mensaje en el widget modificado.