Creación y gestión de variantes utilizando Carga de datos
Puede utilizar Data Load para crear, leer, actualizar y eliminar variantes de producto. De manera opcional, también puede utilizar la carga de datos para mantener la relación de entrada de catálogo entre una variante y sus códigos de artículo hijos.
Por qué y cuándo se efectúa esta tarea
Hay dos métodos para cargar datos de variantes de producto. El uso de una u otra dependerá de si espera que el programa de utilidad Data Load resuelva y mantenga automáticamente la relación de entrada de catálogo entre una variante y sus códigos de artículo hijo. Puede controlar este comportamiento con la una propiedad de configuración Data Load denominada resolveAndAssociateVariantItems.
- No se puede crear una variante duplicada, que sí puede hacerse con un producto. Por ejemplo, si ha creado una variante utilizando el atributo
red
, no puede crear una segunda variante basada en el atributored
. - Para un producto determinado, si ya existe una variante definida a partir de un atributo concreto, no se puede utilizar el producto para crear variantes utilizando un atributo diferente. Por ejemplo, si unos zapatos tienen una variante de color rojo, se pueden utilizar para crear otra variante de color, por ejemplo, una variante de color negro. Sin embargo, no se pueden utilizar para crear una variante de talla.
Procedimiento
- Cargar atributos del diccionario de atributos y sus valores permitidos.
- Cargar productos.
- Cargar códigos de artículo.
-
Cargue variantes con atributos, utilizando la propiedad de configuración resolveAndAssociateVariantItems para establecer cómo se mantiene la relación de entrada de catálogo.
- resolveAndAssociateVariantItems
- True = el programa de utilidad de carga de datos mantiene implícitamente la relación de entrada de catálogo entre una variante y sus códigos de artículo hijo.
-
(Opcional) Si ha elegido cargar explícitamente la relación de entrada de catálogo entre la variante y los cógidos de artículo (resolveAndAssociateVariantItems = false), realice la carga ahora.
Parámetros en el archivo wc-loader-catalog-entry.xml
La variante se carga utilizando CatalogEntryMediator (lo mismo que en el producto o en el código de artículo), con el tipo establecido en "Variante". Los ejemplos se pueden encontrar en el Utility Docker de HCL Commerce en el directorio CommerceServer90Dir/samples/DataLoad/Catalog/Variant.
En el archivo wc-loader-catalog-entry.xml, se define la correlación para el atributo de definición de una variante de la siguiente forma.
Donde<!-- Variant attributes --> <_config:mapping xpath="CatalogEntryAttributes/Attributes[50]/Name" value="VariantAttribute_Id" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[50]/StringValue/Value" value="VariantAttribute_Id" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[51]/Name" value="VariantAttribute_Identifier" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[51]/StringValue/Value" value="VariantAttribute_Identifier" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[52]/Name" value="VariantAttributeValue_Id" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[52]/StringValue/Value" value="VariantAttributeValue_Id" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[53]/Name" value="VariantAttributeValue_Identifier" valueFrom="Fixed" /> <_config:mapping xpath="CatalogEntryAttributes/Attributes[53]/StringValue/Value" value="VariantAttributeValue_Identifier" />
- VariantAttribute_Id
- La clave primaria de la tabla ATTR para el atributo de definición de la variante. Solo es necesario proporcionar una de las dos columnas (VariantAttribute_Id y VariantAttribute_Identifier) en los datos de entrada.
- VariantAttribute_Identifier
- El campo IDENTIFIER de la tabla de base de datos ATTR para el atributo de definición de la variante. Solo es necesario proporcionar una de las dos columnas (VariantAttribute_Id y VariantAttribute_Identifier) en los datos de entrada.
- VariantAttributeValue_Id
- La clave primaria de la tabla ATTRVAL para el valor de atributo de definición de la variante. Solo es necesario proporcionar una de las dos columnas (VariantAttributeValue_Id y VariantAttributeValue_Identifier) en los datos de entrada.
- VariantAttributeValue_Identifier
- El campo IDENTIFIER de la tabla de base de datos ATTRVAL para el valor de atributo de definición de la variante. Solo es necesario proporcionar una de las dos columnas (VariantAttributeValue_Id y VariantAttributeValue_Identifier) en los datos de entrada.
Restricción: Algunos atributos tienen un gran número de valores predefinidos. Si elige como atributo de definición un valor predefinido que no utiliza un código de artículo real, la variante no funcionará, a pesar de que sea potencialmente visible en el escaparate.Y en la sección de la configuración de CatalogEntryMediator:
Hay dos propiedades de configuración disponibles:<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator" componentId="com.ibm.commerce.catalog" >
<_config:property name="resolveAndAssociateParentVariants" value= "false" /> <_config:property name="validateParentProductDefiningAttributes" value= "false" />
La propiedad resolveAndAssociateVariantItems determina si se debe mantener automáticamente la relación entre la variante y el código de artículo. La propiedad validateParentProductDefiningAttributes determina si se debe realizar la validación en el atributo de definición de la variante, por ejemplo, si existe una variante bajo el mismo producto con el mismo par atributo/valor de atributo. Desactivar este indicador puede mejorar el rendimiento de la carga de datos, con la condición de que se garantice la integridad de los datos en otro lugar. El archivo wc-dataload-catalog-entry-variant.xml es el archivo principal de control para cargar variantes y el archivo CatalogEntries-variant.csv son los datos de entrada de ejemplo en formato CSV.
Cargar variantes con un archivo .csv
Puede utilizar el archivo CatalogEntries-variant.csv de ejemplo para cargar variantes. El archivo tiene el formato
CatalogEntry,,,,,,,,,,,
. Hay tres parámetros específicos de las variantes de producto.
Donde los nuevos parámetros son:PartNumber,Type,ParentPartNumber,Sequence,ParentGroupIdentifier,Hide, Name,ShortDescription,LongDescription,VariantAttribute_Identifier,VariantAttributeValue_Identifier,Delete
- Ocultar
- Este indicativo indica si se debe ocultar esta entrada de catálogo en la búsqueda y la navegación por el escaparate. La entrada todavía existe y se puede trabajar con ella, pero no aparece en la tienda.
- VariantAttribute_Id
- Especifica el ID de atributo de definición de la variante. Esta es la clave primaria de la tabla de base de datos ATTRVAL. Todas las variantes del mismo producto padre tienen el mismo VariantAttribute_Identifier.
- VariantAttributeValue_Identifier
- Especifica el identificador de atributo de definición de la variante en la tabla de base de datos ATTR. Las variantes del mismo producto padre deben tener valores de VariantAttributeValue_Identifier diferentes.
Un ejemplo de entrada podría ser:Cords-Black,Variant,Cords,1,Pants,1,Men's corduroy pants - Black, Men's corduroy pants - Black,"Fabric 50% cotton, 50% polyester.",CordsColor,Black,0
Cargar una relación de entrada de catálogo entre una variante y sus códigos de artículo hijos
La relación de entrada de catálogo entre una variante y sus códigos de artículo hijos se carga utilizando CatalogEntryRelationshipMediator. Los ejemplos se pueden encontrar en el Utility Docker de en el directorio CommerceServer90Dir/samples/DataLoad/Catalog/Variant.
El archivo wc-loader-catalog-entry-relationship.xml define la correlación de datos y configura el mediador.
El archivo wc-dataload-catalog-entry-relationship.xml es el archivo de control principal para ejecutar la carga de datos.
El archivo CatalogEntryRelationship-variant-item.csv son los datos de entrada de ejemplo en formato CSV.
Carga relaciones entre los códigos de artículo y el atributo del diccionario de atributos.
Al cargar la relación entre un código de artículo y un atributo del diccionario de atributos, cambia implícitamente la relación padre-hijo entre variantes y códigos de artículo. En este caso, si activa la propiedad de configuración resolveAndAssociateParentVariants, el programa de utilidad de carga de datos mantendrá automáticamente la relación entre variantes y códigos de artículo.
Los ejemplos se pueden encontrar en el Utility Docker de WC en el directorio CommerceServer90Dir/samples/DataLoad/Catalog/AttributeDictionaryAttribute.
En el archivo de configuración wc-loader-catalog-entry-AD-attribute-relationship.xml, se encuentra una propiedad de configuración denominada resolveAndAssociateVariantItems. Esta propiedad toma de forma predeterminada el valor false.<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttributeDictionaryAttributeMediator" componentId="com.ibm.commerce.catalog" > ... <_config:property name="resolveAndAssociateVariantItems" value="false" /> </_config:BusinessObjectMediator>