Copia de widgets a nivel de sitio de HCL Commerce

Puede copiar y modificar un widget de Commerce Composer existente para utilizarlo como modelo para crear su propio widget personalizado. Si necesita un widget que proporcione casi la misma funcionalidad de un widget proporcionado por HCL Commerce, la mejor práctica recomendada es copiar los elementos para el widget proporcionado. Entonces podrá utilizar los elementos copiados para modelar su propio widget personalizado que es una copia del widget proporcionado de forma predeterminada. Con la versión personalizada del widget, puede modificar el widget para cumplir con los requisitos de diseño y funcionalidad de la tienda.

Importante: De forma predeterminada, no puede modificar el código fuente para ningún widget de Commerce Composer proporcionado por HCL Commerce. La funcionalidad de estos widgets se proporciona tal cual para ayudar a los usuarios de empresa a diseñar páginas para la tienda. Sin embargo, puede personalizar el aspecto de estos widgets en las páginas de tienda cambiando la CSS para la tienda. El código fuente de los widgets proporcionados por HCL Commerce se pueden actualizar mediante futuros releases, como arreglos de mantenimiento necesarios o recomendados. Dichas actualizaciones sobrescribirán las modificaciones personalizadas en estos widgets proporcionados de forma predeterminada.

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

El proceso para copiar los activos para un widget proporcionado por HCL Commerce para crear su propia versión personalizada de este widget es similar al proceso para crear un widget. Para obtener más información sobre cómo crear, registrar y suscribirse a un nuevo widget, consulte Creación de widgets de Commerce Composer. Para copiar un widget existente, siga estas instrucciones con los cambios siguientes:

Procedimiento

  1. Copie los elementos de escaparate para el widget que desea copiar en lugar de generar su propio código fuente personalizado. Incluya los elementos copiados en una carpeta nueva para el widget personalizado en la carpeta widgets-vendor. Edite los elementos copiados para personalizar la visualización y el comportamiento de escaparate de este nuevo widget.
  2. Cree un archivo CSV registerWidgetDef.csv para utilizarlo para registrar el widget nuevo dentro de la infraestructura de Commerce Composer.
    Para obtener más información sobre los datos que se deben incluir en este archivo, consulte Archivo de entrada registerWidgetdef.
    Consejo: Copie y edite la información de registro para el widget que está copiando para ayudarle a definir la información de registro para el nuevo widget. Recupere la información de registro para el widget del archivo siguiente. Este archivo incluye la información de registro para los widgets que se proporcionan de forma predeterminada con HCL Commerce.
    • WCDE_installdir\schema\xml\wcs.features_bootstrap.xml
    Al copiar y editar la información, asegúrese de convertir el formato de información para utilizarlo en un archivo CSV.
    Por ejemplo, la información de registro para el widget de navegación por facetas en el archivo XML de rutina de carga de mejoras de tienda se parece al fragmento de código siguiente:
    
    <plwidgetdef 
     plwidgetdef_id="-2004" 
     storeent_id="0" 
     identifier="FacetNavigation_701" 
     ui_object_name="FacetNavigationWidget" 
     vendor="ibm" 
     widgettype="1" 
     jsppath="/Widgets_701/com.ibm.commerce.store.widgets.FacetNavigation/FacetNavigation.jsp"
     definitionxml="
     &lt;Definition&gt;
      &lt;widget-property name=&quot;widgetRestrictionGroups&quot;&gt;
       &lt;value&gt;CategoryPage,SearchPage&lt;/value&gt;
      &lt;/widget-property&gt;
      &lt;widget-property name=&quot;widgetOrientation&quot; &gt;
       &lt;value&gt;vertical&lt;/value&gt;
      &lt;/widget-property&gt;
      &lt;widget-property name=&quot;_pgl:javaScriptInclude&quot;&gt;
       &lt;value&gt;
        ${staticAssetContextRoot}${env_siteWidgetsDir}com.ibm.commerce.store.widgets.CatalogEntryList/javascript/SearchBasedNavigationDisplay.js
       &lt;/value&gt;
      &lt;/widget-property&gt;
     &lt;/Definition&gt;
     "
     state="1"
     createdate="2012-06-25 17:29:25.562"
     lastupdate="2012-06-25 17:29:25.562"
    /> 
    Cuando esté convirtiendo el formato del archivo CSV, actualice los valores de columna que desea o necesita cambiar. Asegúrese de cambiar los valores de cualquier columna que apunte a los archivos de elementos de escaparate para el widget que ha copiado para que apunte a la ubicación de los archivos para el nuevo widget. Por ejemplo, actualice el valor para la columna WidgetPath para que apunte al archivo JSP de activo de escaparate que ha copiado y editado. Después de convertir el formato de esta información de registro, el archivo CSV puede parecerse al formato del siguiente archivo registerWidgetDef.csv de ejemplo:
    Nota: Si está copiando un widget para cambiar sólo los activos de escaparate y el comportamiento del widget, puede utilizar la visualización del Management Center y las interacciones para el widget que ha copiado para la copia del widget. Para mantener intacto el soporte del Management Center existente, no cambie el valor de la columna WidgetUIObjectName cuando convierta el elementoui_object_name para el archivo CSV. Por ejemplo, si está copiando el widget de navegación por facetas, conserve el valor de la columna WidgetUIObjectName que sea FacetNavigationWidget.
  3. Ejecute el programa de utilidad de carga de datos para cargar el archivo CSV a fin de registrar el widget.
  4. Si está copiando cualquiera de los widgets siguientes para sustituir el widget proporcionado, actualice la configuración de Struts para utilizar el widget.
    • Widget de Lista de entradas de catálogo
    • Widget de IBM Product Recommendations
    • Widget de Lista de contenido del sitio
    • Widget de Recomendación de entradas de catálogo
    • Widget de Elementos asociados
    • Widget de Disponibilidad de inventario
    Identifique la entrada de configuración de los struts para el widget dentro del archivo workspace_dir\Stores\WebContent\WEB-INF\struts-config-widgets.xml (para HCL Commerce versión 9.0.0.x) o workspace_dir\Stores\WebContent\WEB-INF\classes\struts-wcs-stores-widgets.xm (para versión 9.0.1+). Revise la entrada para el widget que está copiando y cree una entrada equivalente para apuntar a la vía de acceso JSP de widget.
  5. Cancele la suscripción de la tienda del widget proporcionado cuando suscriba la tienda a la copia del widget.
  6. Actualice o cree diseños para las páginas de tienda para incluir el nuevo widget en lugar del widget proporcionado de forma predeterminada que ha copiado.