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 de javascript personalizadas, que añaden nueva funcionalidad a los Designs.

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. 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 Designs utilizando esta sintaxis:

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

Esto te permite crear cualquier funcionalidad en tus Designs que necesites.

Sincronizando con HTTP Auth #

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

Esto bloqueará el importador de Clerk 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 se muestra 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 funciones actualizadas de Clerk.

Al importar datos con la extensión de Magento 2 de Clerk.io, el servidor de la tienda 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 puede detener el acceso del importador, causando un error en Data Sync.

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

401 Error del Servidor: No Autorizado #

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

Esto se soluciona simplemente insertando el Nombre de Usuario y Contraseña como parte de la URL de Importación:

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

403 Error del Servidor: Prohibido #

Este error ocurre a menudo por una de estas razones:

  • Tu servidor bloquea el acceso del importador. 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í.

  • Puedes tener 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 así: 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 haber sido eliminada de la solicitud del servidor de la tienda.

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

404 Error del Servidor: No Encontrado #

Este error ocurre si el importador no pudo acceder al enlace que nos envía datos desde la tienda. En la mayoría de los casos, esto ocurre porque la extensión está:

  • No instalada en absoluto

  • Una caché causa que el enlace no se inicialice

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

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

429 Error 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 configurando el Tamaño de Página a un valor 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".

500 Error Interno del Servidor #

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 porque hay un producto con un atributo inválido, o una función que se llama incorrectamente en la tienda.

503 Error 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 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:

Actualizando a Clerk.js 2 #

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

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 Designs 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 Designs #

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

Puedes crear tus Designs 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 pantalla siguiente, dale a tu Design un Nombre (recomendamos añadir " V2" para que sea obvio que estás usando Clerk.js2).

1.3. Elige el Tipo de Design.

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 agrega nuevos elementos al Design para añadir 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 Design.

1.7. Haz clic en Update Content. Esto hará que temporalmente no aparezcan en tu tienda, hasta que termines con el Paso 2. Elige el nuevo Design 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 el 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 la última versión de Clerk.io para Magento 2 instalada, y Clerk.js 2 está funcionando en tu tienda.

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 deslizadores 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 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.