FAQ
¿Tienes problemas con tu integración de Magento 1? Esta FAQ cubre los problemas más comunes y sus soluciones, desde la conversión de moneda hasta errores de sincronización.
Conversión de moneda #
Desde la versión v3.0.3 de la extensión Magento 1, la Conversión de Moneda está incluida por defecto, si utilizas la función estándar de conversión de Magento 1.
Se añade en my.clerk.io -> Diseños, con el formateador price_in_currency.
El asistente puede añadirse a tu Diseño de la siguiente manera:
{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}
El asistente convertirá automáticamente el precio a la moneda de la sesión actual y añadirá el símbolo de la moneda.
Ejemplo de salida:

Uso de formateadores #
Clerk.js te permite escribir funciones JavaScript personalizadas que añaden nuevas funcionalidades a tus Diseños.
Los formateadores pueden añadirse de dos formas:
A través de my.clerk.io > Developers > Formatters, donde cada Formateador puede crearse como una entrada separada.
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 de una sola vez.
Para Magento 1, este archivo contiene el tracking-script:
app->design->frontend->base->default->template->clerk->tracking.phtml
Ejemplo de formateador #
A continuación se muestra un ejemplo. Ten en cuenta que esto es para Clerk V2 (última versión):
Clerk('config', {
key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
formatters: {
form_key: function () {
return '<?php echo $this->getFormKey(); ?>';
},
price_in_currency: function(price) {
price = Math.round(price * 100) / 100;
var price_converted = Math.round((price * <?php echo (float)$rates[$currentCurrencyCode]; ?>) * 100) / 100;
var retVal = <?php echo json_encode($currentCurrencySymbol); ?> + ' ' + price_converted.toFixed(2).toString();
return retVal;
},
log_price: function(price) {
console.log(price);
}
}
});
Varios formateadores #
Puedes escribir cualquier cantidad de Formateadores, 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;
}
}
Uso en diseños #
Después de crear tus Formateadores, puedes utilizarlos en tus Diseños con la siguiente sintaxis:
{%raw%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}
Esto te permite crear cualquier funcionalidad en tus Diseños que requieras.
Autenticación HTTP #
La autenticación HTTP se utiliza a menudo en sitios de ensayo para evitar visitantes no deseados.
Esto bloqueará el Importador de Clerk y mostrará un error 401 Unauthorized en el registro de sincronización.
Puedes solucionarlo insertando la información de autenticación en la URL de importación.
En my.clerk.io > Data > Configuration, actualiza tu URL de importación así:
http://USER:PASS@magento.clerk.io/clerk/api/store/1

Errores comunes de sincronización #
Nota: Recomendamos siempre actualizar la extensión a la última versión para obtener todas las funcionalidades actualizadas de Clerk.
Al importar datos con la extensión Magento 1, el servidor de tu tienda es responsable de enviar datos de productos, categorías y ventas a Clerk.
Sin embargo, en algunos casos, la configuración del servidor puede impedir que el Importador acceda, provocando un error en Data Sync.
A continuación se muestra una lista de los errores más comunes y cómo solucionarlos.
401 Unauthorized #
Este error ocurre si tu tienda o entorno de desarrollo requiere autenticación HTTP para acceder.
Esto se soluciona insertando el nombre de usuario y contraseña como parte de la URL de importación:
http://username:password@magento.clerk.io/clerk/api/store/1
403 Forbidden #
Este error ocurre si tu servidor bloquea el acceso al importador.
En la mayoría de los casos, simplemente necesitas permitir la dirección IP del importador para darle acceso.
La dirección IP más reciente puede encontrarse aquí.
También revisa que tu public key, private key y import URL sean correctos para la tienda en la que trabajas en my.clerk.io.
¿Qué pasa si ya permití la IP pero el mismo error sigue ocurriendo?
Hay algunas situaciones en las que has autorizado la IP del importador y el error sigue.
En estos casos, recomendamos revisar estos puntos:
El cuerpo de autenticación podría ser eliminado de la petición por el servidor de la tienda.
Límite de velocidad del servidor respecto a Cloudflare.
404 Not Found #
Este error ocurre si el importador no pudo acceder al enlace que envía datos desde la tienda.
En la mayoría de los casos, sucede porque la extensión:
No está instalada en absoluto
Una caché impide que el enlace se inicialice
Primero, asegúrate de que tienes instalada la extensión correctamente.
Después, asegúrate de vaciar la caché de tu tienda antes de intentar una nueva importación.
429 Too Many Requests #
Este error ocurre si tu servidor niega el acceso al importador por demasiadas solicitudes entrantes.
Puedes corregirlo aumentando el límite de solicitudes de tu servidor o estableciendo un Tamaño de Página más alto en my.clerk.io > Data > Configuration, lo que causará que el importador realice menos solicitudes pero mayores:

Si utilizas el proveedor Byte.nl, el importador normalmente devuelve este error por su limitador de velocidad. En este caso, contacta a Byte.nl y pídeles que permitan el User-Agent del importador “clerk”.
500 Internal Server Error #
Este error significa que tu servidor encontró un error interno y no pudo especificar cuál fue el error.
En estos casos, revisa tu Server Log para identificar qué proceso falló y por qué.
Usualmente, es debido a un producto con un atributo inválido o una función mal llamada en la tienda.
503 Service Unavailable #
Este error suele ser temporal y lo causa el servidor por estar demasiado ocupado para atender la solicitud.
Inténtalo de nuevo después de un rato.
Si el problema persiste, podría significar que el servidor está sobrecargado y cerca de su capacidad máxima.
Revisa la carga del servidor para identificar si éste es el caso.
Magento API error #
Este error también significa que tu servidor encontró un error interno y no pudo especificar el error ni el código.
En estos casos, revisa tu Server Log para identificar qué proceso falló y por qué.
Usualmente, se debe a un producto con un atributo inválido o porque se superó el límite de memoria.
Powerstep no aparece #
Si el paso “Añadir a la cesta” no está activado, normalmente es por dos motivos:
Tienes otro popup o función de añadir a la cesta activada que bloquea la función de Clerk.
Se han insertado IDs de elementos incorrectos en la extensión.
Otro popup activado #
Comienza revisando tu instalación de Magento para ver si ya tienes un popup o desplegable que aparece al añadir un producto a la cesta.
Estos normalmente evitan que se muestre el paso de añadir a la cesta de Clerk.
Si este es el caso, desactívalo e inténtalo de nuevo.
IDs de elementos incorrectos #
Si no tienes otro popup de añadir a la cesta, y tu powerstep está activado pero no se muestra, probablemente es porque se han insertado IDs de plantilla incorrectos en la configuración de la extensión Clerk.
Esto hará que Powerstep falle.
Para solucionarlo, primero accede a tu administrador de Magento y ve a System > Configuration > Clerk > Settings.

Luego elige el Ámbito de configuración correcto que coincida con tu tienda.

En Power step settings, revisa el campo Templates.
Este campo debe contener los IDs correctos separados por comas si utilizas más de uno.

Para asegurarte de que tus IDs son correctos, inicia sesión en my.clerk.io.
Elige la Tienda correcta y ve a Recommendations/Search > Elements.
Haz clic en Edit Element para un slider que quieres mostrar en el powerstep.

Revisa la última pestaña “Insert into website” y localiza el código de inserción.
El ID encontrado en data-template es el que debes copiar en la extensión de Magento:

Haz clic en Save Config en la extensión de Magento y Powerstep debería funcionar después.
Problemas de caché #
Si has activado el popup powerstep y aún así no aparece al añadir un producto a la cesta, normalmente se debe a la Caché.
Ve a System > Cache y vacía todas las cachés internas y de terceros.
Si no lo resuelve, probablemente estés utilizando Full Page cache, la cual sólo afecta a las páginas que un visitante ya ha visto en su sesión. Desactivarla tendrá un impacto mínimo en la velocidad de carga.
La siguiente captura muestra cuál debes desactivar exactamente:

Una vez que hayas desactivado el Full Page Cache, el popup de Clerk debería aparecer.
Si no aparece, por favor contacta al Clerk Support desde el icono de chat en vivo en la esquina inferior derecha, y te ayudaremos a encontrar una solución para tu caso específico.
Sliders de portada en caché #
Normalmente esto sólo ocurre si los códigos de inserción se han añadido a través de las Páginas CMS en el backend de Magento, ya que la portada está en caché:

En su lugar, los códigos de inserción deben ser añadidos directamente en los archivos de la portada, vía FTP:

Magento no almacenará en caché los resultados cuando se insertan de esta manera.
Imágenes no aparecen #
Cuando se vacía la caché de imágenes de Magento, ya sea manual o automáticamente, todas las rutas de imagen cambian.
Esto significa que las rutas de las imágenes enviadas a Clerk ya no funcionan.
Esto se soluciona fácilmente haciendo lo siguiente:
Inicia sesión en my.clerk.io.
Haz clic en la Tienda donde faltan imágenes.
Ve a Data.
Haz clic en Start New Data Sync en la esquina superior derecha.

Esto iniciará una nueva sincronización completa de tus productos, lo que hará que Clerk obtenga las rutas de imagen correctas.
En la extensión Magento de Clerk v2.1.0, este problema se soluciona iniciando automáticamente una Sync cuando se vacía la caché de imágenes.
Si usas una versión antigua de la extensión, recomendamos enfáticamente actualizar a la última versión.
Actualización a Clerk.js 2 #
Clerk.js 2 es una versión más rápida y flexible de nuestra biblioteca JavaScript.
Facilita instalar Clerk en cualquier tienda online.
Sin embargo, como ambas versiones funcionan de manera ligeramente diferente, necesitas seguir estos pasos para actualizar correctamente.
Las dos principales diferencias en Clerk.js 2 son que los Diseños en my.clerk.io usan el lenguaje de plantillas Liquid, aunque también se pueden crear fácilmente con el Editor de Diseños.
Crear diseños #
Ya que Clerk.js 2 tiene un enfoque diferente para los Diseños, debes crear unos nuevos.
Puedes crear tus Diseños de Clerk.js 2 de dos maneras:
Utiliza el intuitivo Editor de Diseños para crear nuevos Diseños, como se describe en los siguientes puntos.
Convierte tus Diseños antiguos. Sigue esta guía para ver cómo hacerlo.
Opción del Editor de Diseño #
- Ve a my.clerk.io > Recommendations/Search > Designs > New Design.

- Elige tu tipo de diseño.

En el Editor de Diseño, haz clic en cualquiera de los elementos existentes como nombre, imagen, botón, etc. para editarlo, o selecciona nuevos elementos para añadir más información de los productos.
Haz clic en Publish cuando termines y avanza a Step 2 de la guía.

Ve a Recommendations/Search > Elements y cambia tu Elemento Clerk para que use tu nuevo Diseño.
Haz clic en Update Element. Esto hará que temporalmente no se muestren en tu tienda hasta que termines Step 2. Elige el nuevo Diseño para todos los Elementos que deban actualizarse.

Ahora estás listo para cambiar a Clerk.js 2.
Actualiza la extensión #
Si ya tienes la última versión de la extensión Clerk Magento, puedes omitir este paso.
Puedes descargar la última extensión desde este enlace:
https://github.com/clerkio/clerk-magento/releases/latest

Guarda los cambios #
Antes de intentar actualizar, asegúrate de haber:
- Guardado los archivos modificados localmente en tu FTP, o
- Hecho una copia de seguridad de cualquier archivo modificado, que puedas reutilizar en la nueva extensión.
Normalmente, los archivos que más cambios reciben por los desarrolladores son Product.php y Productbase.php, que controlan los atributos del producto.
Estos archivos se encuentran aquí:
app->code->community->Clerk->Clerk->Model->Catalog->Product.php
app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php
Desactiva la extensión #
Antes de intentar actualizar, es muy importante que hagas esto:
- Desactiva la antigua extensión en la página de System > Configuration > Clerk > Settings de Magento. Simplemente pon Enable en No y haz clic en Save Config.

- Después, desinstálala ya sea a través de Magento Connect o borrando los archivos desde FTP si la instalaste manualmente.

De lo contrario, tu página de Configuration podría dejar de funcionar y ninguna de las extensiones funcionará después.
Instalar la extensión #
Por último, instala de nuevo la última extensión y mueve los archivos que has respaldado a tu servidor FTP.
Tu configuración debería mantenerse, aun al instalar la nueva versión.
Revisa System > Configuration > Clerk para asegurarte de que todo permanece como debería.
¡Ahora tienes la última versión de Clerk para Magento instalada y Clerk.js 2 corriendo en tu tienda!
La documentación completa de Clerk.js 2 se puede encontrar aquí:
https://docs.clerk.io/docs/clerkjs-quick-start
Uso de require.js #
Esto sólo aplica si usas la versión 3.7.2 o inferior de la extensión Magento 1 Clerk.
En algunas instalaciones, Require.js impide que Clerk.js se cargue, haciendo que no se muestren sliders ni resultados de búsqueda.
Cuando esto ocurre, aparece el siguiente error en la consola:
Uncaught ReferenceError: Clerk is not defined
Existen dos maneras de manejar Require.js. Ambas requieren hacer cambios en el tracking-script de este archivo:
app->design->frontend->base->default->template->clerk->tracking.phtml
Incluir en Require.js #
El mejor enfoque es intentar que Require.js reconozca Clerk.
Puedes hacerlo insertando require(['clerk'], function() {}); al final del tracking script:

Ignorar Require.js #
Si la solución anterior no funciona, es posible ignorar Require.js.
Puedes hacerlo insertando window.__clerk_ignore_requirejs = true; en la parte superior del tracking script:

Después de aplicar cualquiera de estos enfoques, Require.js será compatible con Clerk.
Esta página ha sido traducida por una IA útil, por lo que puede contener errores de idioma. Muchas gracias por su comprensión.