Personalización de datos de producto en Magento 2

Añadir atributos de producto adicionales a Clerk.io a través de la extensión de Magento

Envío de atributos simples desde el Admin de Magento 2

Si los atributos que desea enviar ya están disponibles como atributos simples en su administración de Magento 2, pueden añadirse fácilmente en la página Extensión.

1. Empiece por ir a Tiendas -> Producto.

Aquí puedes ver todos los atributos disponibles en tu tienda. Busca los códigos de atributo de los que quieras enviar a Clerk.io:

2. Asegúrate de que tu atributo es Visible y utilizado en los Listados de Productos. Puedes comprobarlo haciendo clic en el atributo, y yendo a Propiedades del escaparate:

3. Ir a Tiendas->Configuración->Clerk->Configuración_

4. En Sincronización ->Campos adicionales, escriba los códigos de atributos separados por comas :

5. Haga clic en Guardar configuración en la esquina derecha.

(Si no encuentra la extensión Clerk, asegúrese de seleccionar la tienda correcta, haciendo clic en “Ámbito” en la parte superior izquierda).

Screenshot 2021-09-16 at 12.46.04

6. Vaya a Sistema -> Gestión de caché.

7. Borre aquí las distintas memorias caché:

8. Después de implementar sus atributos, vaya a my.clerk.io->Data y haga clic en Start New Data Sync en la esquina superior derecha.

Si los atributos que quieres enviar ya están disponibles como parte de tus datos de productos configurables/agrupados en tu admin de Magento2, se pueden sincronizar fácilmente en la última versión de tu plugin. Aparecerán como child_attribute, por ejemplo, child_color, child\skus etc.

Envío de atributos personalizados

Los atributos personalizados, se pueden añadir a través de la extensión en FTP.

Este archivo maneja los atributos del producto:

vendedor->clerk->magento2->Modelo->Adaptador->Producto.php

Cada atributo tiene su propio fieldHandler, en la función addFieldHandlers().

Simplemente añade tu atributo aquí, con la siguiente sintaxis:

$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function($item) {
   return MAGENTO2_LOGIC;
});

Donde CLERK_ATTRIBUTE_NAME define el nombre que quieres que tenga en Clerk.io, y MAGENTO2_LOGIC es el código para extraer el atributo de Magento 2.

Importación de datos de productos simples para productos configurables

El siguiente código se puede utilizar para obtener cualquier dato que desee de los productos simples dentro de un producto configurable, por lo que Clerk.io puede recibirlo como una matriz de datos.

Esto es especialmente útil para atributos como SKUs, tallas o colores, para hacerlos buscables y filtrables en Clerk.io.

Al igual que el script de atributos personalizados anterior, los datos de los productos configurables se pueden añadir a través de la extensión en FTP.

Este archivo maneja los atributos del producto:

vendedor->clerk->magento2->Modelo->Adaptador->Producto.php

Agregue el siguiente código al archivo:

{%raw%}
$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function ($item) {
 $simple_products_array = [];
 if ($item->getTypeId() === Configurable::TYPE_CODE) {
  $simple_products = $item->getTypeInstance()->getUsedProducts($item);
   foreach ($simple_products as $product) {
    array_push($simple_products_array, $product->getATTRIBUTE_TEXT());
         }
       }
  return array_values(array_unique($simple_products_array));
            });
{%endraw%}

Donde CLERK_ATTRIBUTE_NAME define el nombre que quieres que tenga en Clerk.io, y getATTRIBUTE_TEXT es la función get con el texto para el atributo que estás llamando, por ejemplo $product->getSKU().

Por último, incluye tus nuevos atributos en la extensión Clerk.io en el admin de Magento 2, en Synchronization -> Additional Fields.(Como se explica en el punto 4)

Después de implementar tus atributos, ve a my.clerk.io->Data y haz clic en Start New Data Sync en la esquina superior derecha.