Prestashop

Sync Data

Personalizando los datos del producto #

En Prestashop, puedes agregar la mayoría de los atributos simples directamente desde el Admin, pero también puedes crear atributos personalizados directamente en el código.

Enviando atributos simples desde el Admin de Prestashop #

Nota: Esta función solo funciona desde v.5.3.2. Consulta esta guía para ver cómo actualizar.

En el Admin de Prestashop, comienza yendo a la siguiente sección:

Prestashop 1.7: Catálogo -> Atributos y Características Prestashop 1.6 : Catálogo -> Atributos del Producto

Aquí puedes ver todos los atributos que tienes disponibles:

Encuentra los nombres de los atributos que deseas agregar.

Luego ve a Módulos y Servicios -> Clerk -> Configurar.

Bajo Configuración de Sincronización de Datos, escribe los Nombres de los atributos separados por comas en Campos Adicionales para Productos. También puedes activar campos como Incluir Características del Producto para importar todas las características de los productos a Clerk. Ambos están disponibles en las versiones 1.6 y 1.7 de Prestashop:

Después de implementar tus atributos, ve a my.clerk.io->Datos y haz clic en Iniciar Nueva Sincronización de Datos en la esquina superior derecha.

Si los atributos que deseas enviar ya están disponibles como parte de los datos de tus productos configurables/grupales en tu admin de PrestaShop, se pueden sincronizar fácilmente en la última versión de tu complemento. Aparecerán como child_attribute, por ejemplo, child_color, child_skus, etc.

Enviando atributos personalizados #

Los atributos personalizados, que son más avanzados, se pueden agregar a través de los archivos del módulo en FTP.

Este archivo maneja los atributos del producto:

modules->clerk->controllers->front->product.php

Cada atributo tiene su propio fieldHandler, que se utiliza para extraerlo, en la función __construct

Simplemente agrega tu atributo aquí, con la siguiente sintaxis:

$this->addFieldHandler('CLERK_ATTRIBUTE_NAME',function($product){
return PRESTASHOP_LOGIC;
});

Donde CLERK_ATTRIBUTE_NAME define el nombre que deseas que tenga en Clerk.io y PRESTASHOP_LOGIC es el código para extraer el atributo de Prestashop.

Por último, incluye tus nuevos atributos en la función getDefaultFields() al final del archivo.

Elegir qué productos importar #

Puedes configurar el módulo de PrestaShop para enviar todos los productos a Clerk.io, en lugar de solo los que se pueden vender como lo hace por defecto.

Para hacer esto, comienza buscando este archivo en FTP:

modules->clerk->controllers->front->product.php

En la función getJsonResponse() localiza esta línea:

$products = $product->getProducts($this->getLanguageId(), $this->offset, $this->limit, $this->order_by, $this->order, false, false);

Simplemente cambia el último argumento de true a false.

Si haces esto, te recomendamos que también agregues un atributo adicional a este archivo, que indique cuándo un producto no es vendible, para que puedas mostrarlo en tu Diseño.

Suponiendo que crees un atributo llamado is_saleable que sea true o false, puedes usarlo así en Diseños:

{% raw %}
{% if product.is_saleable %}
   <div class="in-stock">En Stock</div>
{% else %}
  <div class="not-in-stock">No Disponible</div>
{% endif %}
{% endraw %}

Finalmente, ve a my.clerk.io -> Datos y haz clic en Iniciar Nueva Sincronización para importar tus nuevos datos.

Desactivar la sincronización de pedidos #

Después de que la primera sincronización de datos se haya ejecutado con éxito, la sincronización de pedidos desde Prestashop se puede desactivar ya que el seguimiento de ventas del módulo toma el control.

Para desactivar la sincronización de pedidos, ve a Mejorar => Módulos => Administrador de Módulos

Desplázate hacia abajo y encuentra el módulo Clerk en otros. Haz clic en Configurar:

Desplázate hasta el campo llamado Configuración para la Sincronización de Datos y haz clic en SÍ junto al texto Desactivar Sincronización de Pedidos:

Desplázate hasta la parte inferior de la página y presiona Guardar:

Tus cambios entrarán en efecto.

Esta página ha sido traducida por una IA útil, por lo que puede contener errores de idioma. Muchas gracias por su comprensión.