Crear grupos de restricción de widgets Commerce Composer

Cree un grupo de restricción widget para controlar los widgets que se pueden incluir en una ranura de plantilla de diseño utilizando Commerce Composer. Cuando los usuarios de empresa seleccionan añadir widget a una ranura de plantilla de diseño, solo los widgets que una ranura está restringido a utilizar están disponibles dentro de la ventana Añadir widgets a ranuras.

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

Los grupos de restricción de widgets se utilizan para restringir los espacios en las plantillas de diseño para incluir solo widgets de grupos de widgets definidos. Cuando un usuario de empresa selecciona una ranura de plantilla que está restringida para incluir solo widgets en un grupo de restricciones de widget, solo los widgets de dicho grupo están disponibles para su selección en la ventana Añadir widgets a ranuras. Si se incluye un widget dentro de un grupo de restricciones de widget, los usuarios pueden seguir incluyendo el widget en las ranuras que no están restringidas a dicho grupo de restricción de widget. Por ejemplo, en una plantilla de diseño para una página de categorías, puede que desee restringir una ranura en la barra lateral izquierda de modo que sólo incluya los widgets de Navegación de categorías y Navegación por facetas.

De forma predeterminada, puede incluir un widget dentro de los siguientes grupos de widget y restringir una ranura de plantilla para incluir solo widgets que pertenezcan a uno de los grupos siguientes:
AnyPage
Conjunto de widgets que pueden utilizarse en cualquier página.
CategoryPage
Conjunto de widgets que pueden utilizarse en las páginas de categoría.
CatalogEntryPage
Conjunto de widgets que pueden utilizarse en las páginas de entradas de catálogo.
SearchPage
Conjunto de widgets que pueden utilizarse en una página de resultados de búsqueda.
WidgetForTabTitle
Conjunto de widgets para utilizarlo como título de pestaña en una plantilla de diseño que incluye ranuras con pestañas. De forma predeterminada, el widget de editor de texto se incluye en este grupo y está disponible para su uso como título de pestaña. De forma predeterminada, este grupo es el único widget grupo que las ranuras de plantilla incluyen como widget grupo de restricciones especificado.

Los grupos de restricción de widgets que pueden incluirse dentro de una ranura se definen para la ranura en la columna PROPERTIES de la tabla de base de datos PLWIDGETSLOT. Puede añadir un widget a un grupo de restricción de widgets actualizando el XML de definición del widget. Para que un widget se incluya en una ranura de plantilla que está restringida, el valor de la propiedad grupo de restricción de widget en la definición de widget XML debe coincidir con el valor de la propiedad del grupo de restricción de widgets para la ranura de plantilla en la tabla PLWIDGETSLOT. Los administradores pueden usar Data Load utility para actualizar el XML de definición para actualizar los grupos a los que pertenece un widget. Los administradores también pueden utilizar el Data Load utility para actualizar los grupos de restricciones de widget para una ranura de plantilla dentro de la tabla PLWIDGETSLOT.

Nota: Si necesita una copia de un grupo de restricción de widget de Commerce Composer de una instancia en otra instancia, puede utilizar los programas de utilidad de carga de datos y de extracción de datos. Utilice Data Extract utility para extraer los datos de plantilla de diseño, que incluye los datos de grupo de restricción de widget. A continuación, utilice Data Load utility para cargar solo los datos de definición de ranura de mapa de bits de registro y de plantilla de widget especificando el parámetro -DLoadOrder cuando ejecute el programa de utilidad. Para más información, consulte .Para más información, consulte Extraer datos de Commerce Composer con el Programa de utilidad de extracción de datos.

Procedimiento

Defina el grupo de restricciones de widget para la ranura de plantilla de diseño.
  1. Cree un archivo CSV para actualizar la definición de ranura de plantilla de diseño para la ranura que desea restringir para incluir solo los widgets dentro de un grupo.
    El archivo CSV debe incluir valores para todas las columnas obligatorias e incluir los valores existentes para las columnas opcionales definidas. Si no incluye estos valores, Data Load utility sobrescribe los valores existentes. El archivo CSV debe incluir el nombre de grupo de restricción de widget dentro de la columna que se carga en la columna PROPERTIES de la tabla PLWIDGETSLOT. Debe volver a definir el mapa esquemático para la ranura y añadir el grupo de restricción widget a dicha definición de mapa esquemático. Utilice una lista separada por comas entre comillas para incluir ambas propiedades en un archivo CSV. Utilice el siguiente formato para definir el valor de esta columna:
    "xLocation:00;yLocation:00;width:00;height:00;allowedWidgetGroups:WidgetGroupIdentifier"
    Donde WidgetGroupIdentifier es el valor del identificador que desea asignar al nuevo grupo de restricciones de widget.
    Por ejemplo, el siguiente archivo CSV actualiza una ranura dentro de la plantilla de diseño DefaultSearchResultLayout que se va a restringir para incluir widgets que pertenecen al SearchPage grupo de restricciones de widget.
    LayoutName,AdminName,SlotAdminName,SlotID,SlotType,SlotProperty
    DefaultSearchResultLayout,SearchResultPageContainer,8,8,1,"xLocation:40;yLocation:164;width:126;height:54;allowedWidgetGroups:SearchPage"
    
    
    Puede definir varios grupos de restricción de widget para una ranura e incluir más filas para definir el grupos de restricción de widget para otras ranuras que desee restringir.

    Para obtener más información sobre cómo completar este archivo CSV, consulte Archivo de entrada slotDefinition.

  2. Configure el Data Load utility para cargar este archivo CSV en la base de datos de HCL Commerce con Data Load utility.
    Para cargar esta información, debe tener los archivos de configuración de carga de datos necesarios. De forma predeterminada, los archivos de configuración de ejemplo están disponibles para que los utilice para cargar información de plantilla de diseño.
    Archivo de configuración de orden de carga (wc-dataload-template.xml) En un programa de utilidad gestor de archivos, vaya al directorio siguiente.
    • WCDE_installdir\components\foundation\samples\DataLoad\CommerceComposer\template
    Copie este archivo. Actualice el archivo de configuración de orden de carga de ejemplo copiado para que apunte al archivo CSV en lugar del archivo predeterminado slotDefinition.csv. Comente los archivos CSV restantes de forma que solo se cargue el archivo CSV cuando ejecute el Data Load utility. El archivo de configuración de orden de carga identifica el orden en el que el Data Load utility carga los archivos CSV de ejemplo. El archivo de orden de carga también identifica el archivo de configuración de objeto de negocio adecuado que se debe utilizar para cargar cada archivo de entrada. Para obtener más información sobre los archivos de configuración de orden de carga, consulte Configuración del orden de carga de datos.
    Localice el archivo de configuración de entorno de ejemplo wc-dataload-env.xml. En un programa de utilidad gestor de archivos, vaya al directorio siguiente.
    • WCDE_installdir\components\foundation\samples\DataLoad\CommerceComposer
    Actualice el archivo para adaptar los valores a su entorno. Asegúrese de que los valores Business Context y Database especificados sean correctos. Para más información, consulte Configurar los valores de entorno de carga de datos.
    Ubique el archivo de configuración de objeto de negocio wc-loader-widgetslot.xml de muestra. En un programa de utilidad gestor de archivos, vaya al directorio siguiente.
    • WCDE_installdir\components\foundation\samples\DataLoad\CommerceComposer
    Si no ha dado nombre a las columnas dentro del archivo CSV para que sean diferentes de los nombres de columna que se identifican en el tema Archivo de entrada slotDefinition, no es necesario que cambie este archivo. Si ha utilizado nombres de columna diferentes, debe copiar este archivo y actualizar la copia para configurar el archivo para que coincida con los nuevos nombres de columna. Para obtener más información sobre cómo configurar este archivo, consulte Configurar el archivo de configuración de objeto de negocio.
  3. Ejecute el Data Load utility para definir el grupo de restricciones de widget para la ranura de plantilla.
    1. Abra un programa de utilidad de línea de mandatos y vaya al directorio adecuado:
      • WCDE_installdir\bin
    2. Introduzca el siguiente comando para ejecutar el archivo de orden de carga de datos para cargar la información de definición de ranura de plantilla actualizada:
      • LinuxAIX./dataload.sh ../components/foundation/samples/DataLoad/CommerceComposer/template/wc-dataload-template.xml
      • Windowsdataload.bat ..\components\foundation\samples\DataLoad\CommerceComposer\template\wc-dataload-template.xml
      • dataload ..\components\foundation\samples\DataLoad\CommerceComposer\template\wc-dataload-template.xml
    3. Verifique los resultados del proceso de carga revisando el informe de resumen de carga de datos. Para obtener más información sobre la ubicación y el contenido de este informe de resumen, consulte Verificar los resultados de la carga de datos.
      También puede verificar que el grupo de restricciones widget se define como una propiedad para la ranura de plantilla ejecutando las sentencias SQL siguientes en la base de datos HCL Commerce:
      select * from PLWIDGETSLOT;
      
      Asegúrese de que los datos del archivo de entrada existen en las tablas de base de datos PLWIDGETSLOT.
Actualice el XML de definición de los widgets adecuados para incluir los widgets dentro de su nuevo grupo de restricción de widgets.
  1. Cree un archivo de entrada CSV para actualizar la definición XML de cada widget que desee incluir dentro del grupo de restricciones de widget.
    El archivo CSV debe identificar los grupos de restricción de widget para un widget como un par nombre-valor de propiedad dentro de la definición XML que se carga en la columna DEFINITIONXML de la tabla de base de datos PLWIDGETDEF.
    Utilice el siguiente formato para definir la definición XML y propiedad de grupo de restricción de widget para un widget:
    <Definition> <widget-property name="widgetRestrictionGroups"><value>WidgetGroupIdentifier</value></widget-property> </Definition>
    Donde
    name
    El nombre de la propiedad. En esta instancia, debe especificar el nombre como "widgetRestrictionGroups".
    valor
    Los identificadores de todos los grupos de restricción de widget a los que pertenece el widget. Utilice una lista separada por comas para incluir a más grupos. Por ejemplo, la definición siguiente XML define que un widget pertenece a tres grupos de restricciones widget:
    <Definition> <widget-property name="widgetRestrictionGroups"><value>SearchPage,CatalogEntryPage,AnyPage</value></widget-property> </Definition>
    El siguiente archivo CSV actualiza la definición XML para que SearchSummaryWidget esté dentro del grupo de restricción de widgets SearchPage y AnyPage. Este CSV incluye los nombres de columna y un único registro, que está separado en tres líneas para facilitar su lectura. Cuando cargue el archivo de entrada CSV, no separe un único registro en varias líneas.
    WidgetDefIdentifier,WidgetStoreUniqueID,WidgetUIObjectName,WidgetType,WidgetVendor,WidgetPath,WidgetState,WidgetDefinitionxml,WidgetDisplayName,WidgetDescription,Delete
    SearchSummary,0,SearchSummaryWidget,1,ibm,/Widgets/com.ibm.commerce.store.widgets.SearchSummary/SearchSummary.jsp,1,
    <Definition><widget-property name="widgetRestrictionGroups"><value>SearchPage,AnyPage</value></widget-property></Definition>,Search Summary Widget,	
    'Displays the search term that the customer used, the number of search results, and offers suggested search terms when there are no matches.'  
    Puede incluir un widget dentro de varios grupos de restricción en el archivo CSV. Incluya más filas para incluir más widgets dentro de widget grupos de restricciones.

    Para obtener más información sobre cómo completar este archivo CSV, consulte Archivo de entrada registerWidgetdef.

  2. Configure el Data Load utility para cargar este archivo CSV en la base de datos de HCL Commerce con Data Load utility.
    Para cargar esta información, debe tener los archivos de configuración de carga de datos necesarios. De forma predeterminada, los archivos de configuración de ejemplo están disponibles para que los utilice para cargar información de definición de widget.
    Ubique el archivo de configuración de orden de carga wc-dataload-widget.xml de muestra. En un programa de utilidad gestor de archivos, vaya al directorio siguiente.
    • WCDE_installdir\components\foundation\samples\DataLoad\CommerceComposer\widget
    Copie este archivo. Actualice el archivo de configuración de orden de carga de ejemplo copiado para que apunte al archivo CSV en lugar del archivo predeterminado registerWidgetdef.csv. Comente los archivos CSV restantes de forma que solo se cargue el archivo CSV cuando ejecute el Data Load utility.

    El Data Load utility utiliza el mismo archivo de configuración de entorno wc-dataload-env.xml que ha utilizado para cargar la información de ranura de plantilla para cargar la información de definición de widget.

    Ubique el archivo de configuración de objeto de negocio wc-loader-registerWidgetdef.xml de muestra. En un programa de utilidad gestor de archivos, vaya al directorio siguiente.
    • WCDE_installdir\components\foundation\samples\DataLoad\CommerceComposer
    Si no ha dado nombre a las columnas dentro del archivo CSV para que sean diferentes de los nombres de columna que se identifican en el tema Archivo de entrada registerWidgetdef, no es necesario que cambie este archivo. Si ha utilizado nombres de columna diferentes, debe copiar este archivo y actualizar la copia para configurar el archivo para que coincida con los nuevos nombres de columna.
  3. Ejecute Data Load utility para definir el grupo de restricciones de widget para el widget.
    1. Abra un programa de utilidad de línea de mandatos y vaya al directorio adecuado:
      • WCDE_installdir\bin
    2. Ingrese el siguiente comando para ejecutar el archivo de orden de carga de datos para cargar la información de definición de widget actualizada:
      • LinuxAIX./dataload.sh ../components/foundation/samples/DataLoad/CommerceComposer/widget/wc-dataload-widget.xml
      • Windowsdataload.bat ..\components\foundation\samples\DataLoad\CommerceComposer\widget\wc-dataload-widget.xml
      • dataload ..\components\foundation\samples\DataLoad\CommerceComposer\widget\wc-dataload-widget.xml
    3. Verifique los resultados del proceso de carga revisando el informe de resumen de carga de datos.
      También puede verificar que el grupo de restricciones widget se define como una propiedad para la ranura de plantilla ejecutando las sentencias SQL siguientes en la base de datos HCL Commerce:
      select * from PLWIDGETDEF;
      select * from PLWDIGETDEFDESC;
      

      Asegúrese de que los datos del archivo de entrada existen en las tablas de base de datos.

  4. Verifique que las ranuras de plantilla de diseño actualizadas estén restringidas en Commerce Composer para incluir solo los widgets que ha incluido dentro de los nuevos grupos de restricción de widget. Para verificar que el grupo de widget se crea y se aplica satisfactoriamente, cree un diseño en Commerce Composer. Cuando esté creando este diseño, seleccione utilizar su plantilla de diseño actualizada. Cuando seleccione rellenar la ranura de actualización de plantilla, asegúrese de que solo los widgets del nuevo grupo de widget estén disponibles para que los incluya en la ranura de plantilla.