Magento 2

Preguntas Frecuentes

Cambiando tamaños de imagen #

Por defecto, la extensión utiliza los tamaños de imagen originales que están configurados en Magento 2, pero estos se pueden cambiar si es necesario.

Comienza iniciando sesión en tu backend de Magento 2 y ve a:

Stores -> Configuration -> Clerk -> Configuration

Bajo Synchronization-> Image type puedes elegir exactamente qué resolución enviar para las imágenes:

Después, haz clic en Save Config.

Ahora simplemente necesitas ejecutar una nueva sincronización en my.clerk.io y tus nuevos tamaños de imagen serán importados.

Usando formateadores en diseños #

Clerk.js te permite escribir funciones javascript personalizadas que añaden nueva funcionalidad a los Diseños.

Los formateadores se pueden añadir de dos maneras:

  • A través de my.clerk.io > Settings > Formatters, donde cada Formateador puede ser creado como entradas separadas.
  • Como una configuración para Clerk.js, en el tracking-script que se inserta en todas las páginas, donde se pueden añadir múltiples formateadores a la vez.

Para Magento 2, este archivo contiene el tracking-script:

vendor->view->frontend->templates->tracking.phtml

Un ejemplo se puede ver a continuación. Por favor, ten en cuenta que esto es para Clerk V2 (última versión):

    Clerk('config', {
      key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
      formatters: {
             log_price: function(price) {
             console.log(price);
          }
      });

Puedes escribir cualquier número de Formatters, separados por comas:

formatters: {
   log_price: function(price) {
      console.log(price);
   },
   calculate_discount: function(price,special_price) {
      return price-special_price;
   },
   substring: function(text) {
      var short_string = text.substring(0,20);
      return short_string;
   }
}

Después de crear tus Formateadores, puedes usarlos en tus Diseños utilizando esta sintaxis:

{% raw %} {{{ price | log_price }} {{ price | calculate_discount |  special_price }}) {% endraw %}

Esto te permite crear cualquier funcionalidad en tus Diseños que necesites.

Sincronizando con HTTP Auth #

A menudo se utiliza la autenticación HTTP en sitios de staging para evitar visitantes no invitados.

Esto bloqueará el importador de Clerk también y mostrará un error de 401 Unauthorized en el registro de sincronización.

Puedes verificar fácilmente el importador insertando la información de autenticación en la URL de importación como a continuación, en Data Sync en my.clerk.io:

http://USER:PASS@magento2.clerk.io/

Problemas comunes de sincronización #

Nota: Te aconsejamos que siempre actualices el plugin a la última versión para obtener todas las características actualizadas de Clerk.

Al importar datos con la extensión de Magento 2 de Clerk.io, el servidor de la tienda web es responsable de enviar los datos de producto, categoría y ventas a Clerk.io.

Sin embargo, en algunos casos, la configuración del servidor podría detener el acceso de importación, causando un error en Data Sync.

A continuación se presenta una lista de los errores más comunes y cómo solucionarlos.

Error 401 del servidor: No autorizado #

Este error ocurre si tu tienda web/entorno de desarrollo requiere autenticación HTTP para acceder.

Esto se resuelve simplemente insertando el Nombre de usuario y Contraseña como parte de la URL de importación:

http://username:password@magento2.clerk.io

Error 403 del servidor: Prohibido #

Este error ocurre a menudo por una de estas razones:

  • Tu servidor bloquea al importador de acceder. En la mayoría de los casos, simplemente necesitas agregar a la lista blanca la dirección IP del importador para darle acceso. La última dirección IP se puede encontrar aquí.

  • Puede que tengas una clave pública, clave privada y/o url de importación incorrectas dentro de la tienda en my.clerk.io

  • Estás utilizando Storeviews con URL ocultas, como mywebshop.com?__store=b2b. A veces, estas URL también pueden contener 3 guiones bajos como este: mywebshop.com?___store=b2b

Si es el caso, simplemente incluye el parámetro __store en la URL en Data:

¿Qué pasa si ya he agregado a la lista blanca pero el mismo error sigue ocurriendo?

Hay algunas instancias en las que has agregado a la lista blanca la dirección IP del importador, y el error persiste, entonces te recomendamos que revises lo siguiente.

  • La parte de autenticación del cuerpo puede ser eliminada de la solicitud del servidor de la tienda.

  • Límite de tasa para el servidor en relación a cloudflares.

Error 404 del servidor: No encontrado #

Este error ocurre si el importador no pudo acceder al enlace que nos envía datos desde la tienda web. En la mayoría de los casos, esto sucede porque la extensión no está instalada en absoluto o porque una caché impide que el enlace se inicialice.

Primero asegúrate de haber instalado la extensión correctamente.

En segundo lugar, asegúrate de vaciar la caché de tu tienda web antes de intentar una nueva importación.

Error 429 del servidor: Demasiadas solicitudes #

Este error ocurre si tu servidor niega el acceso al importador debido a demasiadas solicitudes entrantes.

Puedes solucionar esto aumentando el límite de solicitudes para tu servidor o estableciendo un Tamaño de Página más alto en el importador de Clerk.io, lo que hace que el importador realice menos solicitudes, pero más grandes:

Si estás utilizando el proveedor de alojamiento hypernode.com/nl, el importador generalmente devuelve este error debido a su limitador de tasa. En este caso, simplemente contacta a hypernode.com/nl y pídeles que agreguen a la lista blanca el User-Agent del importador " clerk".

Error 500 del servidor interno #

Este error significa que tu servidor encontró un error interno y no pudo especificar qué error ocurrió.

En estos casos, puedes revisar tu Registro del Servidor para identificar qué proceso falló y por qué. En la mayoría de los casos, es simplemente debido a un producto con un atributo inválido o una función que se llama incorrectamente en la tienda web.

Error 503 del servidor: Servicio no disponible #

Este error suele ser temporal y es causado por el servidor que está demasiado ocupado para manejar la solicitud. Intenta de nuevo un poco más tarde.

Si el problema continúa, podría significar que el servidor está sobrecargado de procesos y está cerca de su capacidad máxima.

Verifica la carga del servidor para identificar si este es el caso.

Respuesta inválida recibida #

Este error suele ocurrir si tu tienda web está utilizando un sistema de redirección para enviar a los clientes a diferentes dominios.

Por ejemplo, ir a " https://mywebshop.com" podría redirigir a " https://mywebshop.com/it"

Si este es el caso, simplemente necesitas usar la URL completa al importar en my.clerk.io:

Importando stock de MSI (Inventario de Múltiples Fuentes) #

Si tu tienda Magento 2 utiliza MSI, puedes importar el stock total de todas las fuentes a Clerk añadiendo el código de atributo a continuación a los Campos Adicionales de la extensión.

  1. En tu administración de Magento, ve a Stores -> Configuration -> Clerk -> Configuration
  2. Bajo Synchronization -> Additional Fields, añade: multi_source_stock
  3. Haz clic en Save Config y luego ejecuta una nueva sincronización en my.clerk.io -> Data

Clerk importará multi_source_stock como la suma de cantidades de todas las fuentes de MSI. Esto es útil cuando la fuente de stock predeterminada es 0, pero los productos aún están en stock en otras fuentes.

Actualizando a Clerk.js 2 #

Clerk.js 2 es una versión más rápida y flexible de nuestra biblioteca JavaScript que facilita la instalación de Clerk.io en cualquier tienda web.

Sin embargo, dado que las dos versiones funcionan de manera ligeramente diferente, necesitas seguir estos pasos para actualizar con éxito.

Las dos principales diferencias en Clerk.js 2 son que los Diseños en my.clerk.io utilizan el Liquid lenguaje de plantillas, pero también se pueden crear fácilmente utilizando el Editor de Diseño.

Paso 1: Convertir Diseños #

Dado que Clerk.js 2 tiene un enfoque diferente para los Diseños, necesitas crear nuevos.

Puedes crear tus Diseños de Clerk.js 2 de una de dos maneras:

1.1 Comienza yendo a my.clerk.io -> Recommendations / Search -> Designs y haz clic en New Design:

1.2 En la siguiente pantalla, dale a tu Diseño un Nombre (recomendamos añadir " V2" para que sea obvio que estás usando Clerk.js2).

1.3. Elige el Tipo de Diseño.

1.4. En el Editor de Diseño, haz clic en cualquiera de los elementos existentes como el nombre, imagen, botón, etc. para editarlo, o añade nuevos elementos al Diseño para agregar más información sobre los productos.

1.5. Haz clic en Publicar cuando hayas terminado y ve al Paso 2 en la guía.

1.6. Por último, ve a Recommendations / Search -> Content y cambia tu contenido de Clerk.io para usar tu nuevo Diseño.

1.7. Haz clic en Update Content. Esto hará que temporalmente no aparezcan en tu tienda web, hasta que termines con el Paso 2. Elige el nuevo Diseño para todo el Contenido que deba ser actualizado.

1.9. ¡Listo! Ahora estás listo para cambiar a Clerk.js 2.

Paso 2: Actualizando tu extensión #

ADVERTENCIA: Recuerda hacer copias de seguridad de cualquier archivo modificado, ya que serán sobrescritos.

Actualizar la extensión de Magento 2 se realiza a través de línea de comandos.

Se hace siguiendo estos pasos:

2.1. Inicia sesión en tu servidor a través de línea de comandos.

2.2. Navega a tu carpeta raíz web (generalmente " /var/www/your_domain/public_html")

2.3. Habilita Acceso Root escribiendo su y luego ingresa tu contraseña.

2.4. Escribe los siguientes comandos en orden:composer update clerk/magento2php bin/magento setup:upgradephp bin/magento setup:di:compile

2.5. Espera a que la extensión termine.

Tu Magento 2 ahora está actualizado a la última versión.

Ahora tienes instalada la última versión de Clerk.io para Magento 2, y Clerk.js 2 está funcionando en tu tienda web.

La documentación completa para Clerk.js 2 se puede encontrar aquí:

https://docs.clerk.io/docs/clerkjs-quick-start

Manejo de require.js #

Esta guía solo se aplica cuando se utiliza hasta la v.2.8.3 de la extensión de Magento 2 Clerk.

En algunas configuraciones, Require.js detiene la carga de Clerk.js, lo que significa que no se mostrarán sliders ni resultados de búsqueda.

Cuando esto sucede, se mostrará el siguiente error en tu consola:

Uncaught ReferenceError: Clerk is not defined

La extensión de Magento 2 ya maneja Require.js, pero en algunos casos, es necesario hacer que ignore Clerk.js.

Puedes hacer esto en el siguiente archivo:

vendor->clerk->magento2->templates->tracking.phtml

Simplemente inserta window.__clerk_ignore_requirejs = true;

en la parte superior del script de seguimiento:

Después de usar este enfoque, Require.js ahora será compatible con Clerk.io.

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