Ejemplo: Categorías

Puede insertar, sustituir o eliminar los datos de categoría simultáneamente mediante el programa de utilidad de carga de datos. Estos ejemplos utilizan un archivo CSV para mostrar cómo insertar, sustituir o eliminar datos de categoría.

Este ejemplo utiliza un archivo CSV para mostrar cómo insertar, sustituir o eliminar los datos. También puede crear y utilizar un archivo con formato XML para insertar, sustituir o eliminar los datos. Si decide crear y utilizar un archivo con formato XML, asegúrese de que los elementos XML utilizan los mismos nombres que los nombres de columna CSV.

Definiciones de columnas CSV y de elementos XML

GroupIdentifier
Se necesita: (Serie) Identificador de la categoría. Este campo no puede ser nulo y su valor debe ser exclusivo.
TopGroup
(Booleano) Indica si esta columna es una categoría superior o una subcategoría. Las categorías superiores no tienen categorías padre. Establezca el valor de la columna en true para la categoría superior. Establezca el valor de la columna en false o en nulo para una subcategoría. El valor predeterminado es false. Cualquier valor distinto de true adopta automáticamente el valor false.
ParentGroupIdentifier
(Serie) Identificador padre de esta categoría. Deje este campo en blanco para la categoría de nivel superior.
Secuencia
(Doble) Número opcional que se utiliza para controlar el orden en el que se visualizan las categorías hijo en una categoría padre.
Nombre:
(Serie) Nombre de visualización de la categoría sensible al idioma.
ShortDescription
(Serie) Breve descripción de la categoría sensible al idioma.
LongDescription
(Serie) Descripción larga de la categoría sensible al idioma.
Imagen reducida
(Serie) Vía de acceso de la imagen miniatura de esta categoría sensible al idioma. Utilice barras inclinadas (/) en la vía de acceso, por ejemplo, images/G1.jpg.
FullImage
(Serie) Vía de acceso de la imagen completa de esta categoría sensible al idioma. Utilice barras inclinadas (/) en la vía de acceso, por ejemplo, images/G1.jpg.
Publicada
(Entero) Valor sensible al idioma que determina si debe visualizarse esta categoría en el escaparate.
1
Publicado. El valor predeterminado. La categoría se visualiza en el escaparate.
0
No publicado
Keyword
(Serie) Palabra clave sensible al idioma que se utiliza para la búsqueda. Para varias palabras clave, utilice comillas dobles separadas mediante comas, por ejemplo "keyword 1, keyword 2, keyword3".
eliminar
(Serie) Un distintivo que indica si se debe eliminar. Especifique 1 para eliminar la fila.

Puede utilizar la opción marcar para eliminar una categoría. Cuando configure el programa de utilidad de carga de datos para utilizar este comportamiento, las categorías no se suprimen de la base de datos cuando se establece una categoría para eliminarla en un archivo de entrada. Cuando establece la columna Delete para una categoría en '1', la categoría se marca para supresión. El programa de utilidad actualiza el valor para la columna MARKFORDELETE de la fila de objeto en la tabla CATGROUP en lugar de eliminar la fila.

Otros campos opcionales no incluidos en este ejemplo son:

storeIdentifier
(Serie) Identificador de la tienda a la que pertenece la categoría. Esta columna solo es necesaria si la categoría pertenece a una tienda que es distinta de la tienda que está definida en los elementos BusinessContext del archivo de configuración wc-dataload.xml del cargador de grupo de catálogo. Si esta columna no se proporciona en el archivo CSV, se utiliza el valor de StoreIdentifier en el contexto de negocio.
parentStoreIdentifier
(Serie) Identificador de la tienda a la que pertenece la categoría padre. Utilice este campo en una tienda de sitios ampliados, cuando la tienda padre es distinta de la tienda a la que se añade la categoría.
Nota
(Serie) Utilice este campo para añadir notas a pie de página o descripciones largas ampliadas para esta categoría.
Field 1
(Serie) Un campo definido por el usuario disponible para fines de personalización.
Campo 2
(Serie) Un campo definido por el usuario disponible para fines de personalización.

Archivo CSV de inserción o sustitución con datos de categoría de ejemplo

El archivo de ejemplo contiene datos de categoría Archivo CSV con datos de categoría de ejemplo
Archivo CSV con formato con cabeceras de columna
GroupIdentifier TopGroup ParentGroupIdentifier Secuencia Nombre: ShortDescription LongDescription Imagen reducida FullImage Publicada Keyword
TV_category true TV category TV short description TV long description TV_thumb/image.jpg TV_full/image.jpg 1 TV Keyword
LCD_category false TV_category 1 LCD TV LCD TV short description LCD TV long description LCD_TV_thumb/image.jpg LCD_TV_full/image.jpg 0 LCD Keyword
Appl_category true Appliances category Appliances short description Appliances long description app_thumb/image.jpg app_full/image.jpg 1 Appliances Keyword
Fridge_category false Appl_category 2 Refrigerators Refrigerator short description Refrigerator long description fridge_thumb/image.jpg fridge_full/image.jpg 1 Refrigerator Keyword

Archivo CSV de supresión con datos de categoría de ejemplo

Para eliminar una categoría, añada la columna Delete al archivo CSV. En este ejemplo, el origen de datos es un archivo CSV. El archivo contiene datos de categoría de ejemplo. Las filas donde el distintivo está establecido en 1 en la columna Delete han suprimido la categoría asociada. Las filas que no tienen nada en la columna Delete tienen las categorías asociadas insertadas o sustituidas, en función de si existen datos anteriores en la base de datos. Archivo CSV con datos de categoría de ejemplo
Archivo CSV con formato con cabeceras de columna
GroupIdentifier TopGroup ParentGroupIdentifier Secuencia Nombre: ShortDescription LongDescription Imagen reducida FullImage Publicada Keyword eliminar
TV_category true TV category TV short description TV long description TV_thumb/image.jgp TV_full/image.jgp 1 TV Keyword 1
LCD_category false TV_category 1 LCD TV LCD TV short description LCD TV long description LCD_TV_thumb/image.jpg LCD_TV_full/image.jpg 0 LCD Keyword 1
Appl_category true Appliances category Appliance short description Appliances long description app_thumb/image.jpg app_full/image.jpg 1 Appliances Keyword
Fridge_category false Appl_category 2 Refrigerators Refrigerator short description Refrigerator long description fridge_thumb/image.jpg fridge_full/image.jpg 1 Refrigerator Keyword

Correlación de datos

El siguiente fragmento de código del archivo de configuración del cargador de grupos de catálogo muestra cómo correlacionar cada valor con una vía de acceso del esquema lógico de objetos de negocio.
<_config:DataMapping>
	<_config:mapping xpath="CatalogGroupIdentifier/UniqueID" value="GroupUniqueId" />
	<_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="GroupIdentifier" />
	<_config:mapping xpath="ParentCatalogGroupIdentifier/UniqueID" value="ParentGroupUniqueId" />
	<_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" valueFrom="InputData" />
	<_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier" />
	<_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="ParentStoreIdentifier" valueFrom="InputData" />
	<_config:mapping xpath="topCatalogGroup" value="TopGroup" />
	<_config:mapping xpath="displaySequence" value="Sequence" />
	<_config:mapping xpath="Description[0]/Name" value="Name" />
	<_config:mapping xpath="Description[0]/ShortDescription" value="ShortDescription" />
	<_config:mapping xpath="Description[0]/LongDescription" value="LongDescription" />
	<_config:mapping xpath="Description[0]/Thumbnail" value="Thumbnail" />
	<_config:mapping xpath="Description[0]/FullImage" value="FullImage" />
	<_config:mapping xpath="Description[0]/Attributes/published" value="Published" />
	<_config:mapping xpath="Description[0]/Keyword" value="Keyword" />
	<_config:mapping xpath="Description[0]/Attributes/note" value="Note" />
	<_config:mapping xpath="Attributes/field1" value="Field1"/>
	<_config:mapping xpath="Attributes/field2" value="Field2"/>
	<_config:mapping xpath="" value="Delete" valueFrom="InputData" deleteValue="1"/>
</_config:DataMapping>
Si realiza una operación de inserción o sustitución, no especifique la columna "Delete" en el archivo CSV o puede dejar la columna "Delete" vacía.

Mediador de objetos de negocio

El nombre de la clase de mediador es com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator.
Nota: Este mediador no da soporte a marcar una categoría para supresión. Si define una correlación para actualizar la columna MARKFORDELETE para la categoría y establece una categoría para marcarla para supresión en un archivo de entrada, el programa de utilidad de carga de datos suprime de forma explícita la categoría. La operación también suprime todos los registros relacionados en las tablas CATTOGRP, CATGRPREL, CATGPENREL para la categoría.
El mediador CatalogGroupMediator da soporte a marcar una categoría para supresión a través de una propiedad configurable. Para habilitar esta propiedad, añada la siguiente configuración en el elemento <_config:BusinessObjectMediator> del archivo de configuración de objetos de negocio.
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog">
     <_config:property name="markForDelete" value="true" />
</_config:BusinessObjectMediator>
  • Si también configura el programa de utilidad de carga de datos para cargar información de SEO, toda la información de SEO relevante para la categoría se elimina cuando establece la categoría para marcarla para supresión.
  • Si la tienda utiliza la búsqueda de HCL Commerce, el índice de búsqueda se reconstruye para eliminar las categorías que están marcadas para supresión y eliminar las relaciones para esas categorías.
Nota: Cuando utiliza un mediador que se proporciona con HCL Commerce con el programa de utilidad de carga de datos, el programa de utilidad de carga de datos da por supuesto que está cargando datos para todas las columnas para un objeto de negocio. Si desea actualizar los datos solamente en columnas específicas, configure una lista de exclusión de columnas para el proceso de carga. Una lista de exclusión de columnas hace que el programa de utilidad de carga de datos ignore columnas concretas durante la operación de carga. Si no utiliza una lista de exclusión de columnas, el programa de utilidad actualiza todas las columnas de la fila de una fila de tabla de base de datos cuando el programa de utiliza actualiza la fila. Si el valor se establece en el archivo de entrada, el programa de utilidad puede sustituir el valor de columna existente por un valor predeterminado o establecer el valor en nulo. Para obtener más información, consulte Configuración de una lista de exclusión de columnas.