FAQ
¿Tienes problemas con tu integración de Magento 1? Este 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 #
A partir de la versión v3.0.3 de la extensión Magento 1, la conversión de moneda está incluida por defecto si estás utilizando la función de conversión estándar de Magento 1.
Se añade en my.clerk.io -> Designs, con el formateador price_in_currency.
El helper puede añadirse a tu Design de la siguiente manera:
{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}
El helper convertirá automáticamente el precio a la moneda de la sesión actual y añadirá el símbolo de moneda.
Ejemplo de salida:

Uso de formateadores #
Clerk.js te permite escribir funciones JavaScript personalizadas que añaden nueva funcionalidad a tus Designs.
Los formateadores se pueden añadir de dos maneras:
A través de my.clerk.io > Developers > 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 agregar varios formateadores al mismo tiempo.
Para Magento 1, este archivo contiene el tracking-script:
app->design->frontend->base->default->template->clerk->tracking.phtml
Ejemplo de formateador #
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: {
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 número de Formatters, separados por coma:
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 Formatters, puedes usarlos en tus Designs usando esta sintaxis:
{%raw%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}
Esto te permite crear cualquier funcionalidad en tus Designs que necesites.
Autenticación HTTP #
La autenticación HTTP se usa a menudo en sitios de staging para evitar visitantes no deseados.
Esto bloqueará el Clerk Importer y mostrará un error 401 Unauthorized en el registro de sincronización.
Puedes solucionar esto 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 actualizar siempre la extensión a la última versión para tener todas las funciones actualizadas de Clerk.
Al importar datos con la extensión de Magento 1, el servidor de tu tienda es responsable de enviar los datos de productos, categorías y ventas a Clerk.
Sin embargo, en algunos casos, la configuración del servidor puede impedir que el Importer tenga acceso, provocando un error en Data Sync.
A continuación se presenta 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.
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 al importer para que no tenga acceso.
En la mayoría de los casos, simplemente necesitas whitelistear la dirección IP del importer para darle acceso.
La última dirección IP se puede encontrar aquí.
Verifica también que tu public key, private key y import URL sean correctos para la tienda con la que estás operando en my.clerk.io.
¿Y si ya he whitelisteado pero sigue ocurriendo el mismo error?
Hay algunas ocasiones en las que has whitelisteado la dirección IP del importer y el error sigue.
En estos casos, te recomendamos revisar lo siguiente:
Es posible que la parte de autenticación del cuerpo sea eliminada de la solicitud desde el servidor de la tienda.
Límite de velocidad del servidor respecto a Cloudflare.
404 Not Found #
Este error ocurre si el importer no pudo acceder al enlace que envía datos desde la tienda.
En la mayoría de los casos sucede porque la extensión está:
No está instalada en absoluto
Una caché hace que el enlace no se inicialice
Primero, asegúrate de que has instalado la extensión correctamente.
Luego, asegúrate de limpiar la caché de tu tienda antes de intentar una nueva importación.
429 Too Many Requests #
Este error ocurre si tu servidor deniega el acceso al importer debido a demasiadas solicitudes entrantes.
Puedes solucionarlo configurando un límite de solicitudes más alto para tu servidor o estableciendo el Page Size a un valor mayor en my.clerk.io > Data > Configuration, lo que hará que el importer haga menos solicitudes pero más grandes:

Si utilizas el proveedor de hosting Byte.nl, el importer suele devolver este error debido a su rate limiter. En este caso, contacta con Byte.nl y pídeles que whitelisteen el User-Agent del importer “clerk”.
500 Internal Server Error #
Este error significa que tu servidor encontró un error interno y no pudo especificar qué error ocurrió.
En estos casos, revisa tu Server Log para identificar qué proceso falló y por qué.
En la mayoría de los casos, es simplemente por un producto con un atributo inválido o una función llamada incorrectamente en la tienda.
503 Service Unavailable #
Este error suele ser temporal y se produce porque el servidor está demasiado ocupado para manejar la solicitud.
Intenta de nuevo un poco más tarde.
Si el problema persiste, podría indicar que el servidor tiene demasiados procesos y está cerca de su máxima capacidad.
Revisa la carga del servidor para identificar si este es el caso.
Error de la API de Magento #
Este error también indica que tu servidor encontró un error interno y no pudo especificar cuál fue el error ni su código.
En estos casos, revisa tu Server Log para identificar qué proceso falló y por qué.
En la mayoría de los casos, es simplemente porque un producto tiene un atributo inválido o se excedió el límite de memoria.
Powerstep no aparece #
Si el paso de Añadir a la cesta no está activado, normalmente es por dos razones:
Tienes otro popup o función de añadir a la cesta habilitada que bloquea la función de Clerk.
Se han introducido los IDs de contenido incorrectos en la extensión.
Otro popup habilitado #
Empieza revisando tu instalación de Magento para ver si ya tienes un popup o dropdown que se muestra al añadir un producto a la cesta.
Normalmente, estos pueden impedir 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 contenido incorrectos #
Si no tienes otro popup de añadir a la cesta y tu powerstep está activado pero no aparece, probablemente es porque se han introducido IDs de plantilla incorrectos en la configuración de la extensión de Clerk.
Esto hará que el Powerstep falle.
Para solucionarlo, comienza iniciando sesión en tu administración de Magento y ve a System > Configuration > Clerk > Settings.

Luego elige el Configuration Scope 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 usas más de uno.

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

Revisa la última pestaña “Insert into website” y localiza el código de embebido.
El ID que aparece en data-template es el ID que necesitas copiar a 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 de powerstep y aún así no aparece al añadir un producto a la cesta, el problema suele ser la Caché.
Ve a System > Cache y limpia todas las cachés internas y de terceros.
Si no se soluciona, probablemente estás usando Full Page cache, que solo impacta las páginas que un visitante ya ha visto en su sesión. Desactivarlo tendrá un impacto mínimo en la velocidad de la página.
La siguiente captura muestra exactamente cuál desactivar:

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

En su lugar, los códigos de embebido deben insertarse directamente en los archivos de la Frontpage, vía FTP:

Magento no cacheará los resultados si se insertan así.
Imágenes no aparecen #
Cuando se borra la caché de imágenes de Magento, manual o automáticamente, todas las rutas de las imágenes cambian.
Esto significa que las rutas de las imágenes enviadas a Clerk dejan de funcionar.
Esto se puede arreglar fácilmente así:
Inicia sesión en my.clerk.io.
Haz clic en la Store donde faltan imágenes.
Ve a Data.
Haz clic en Start New Data Sync en la parte superior derecha.

Esto iniciará una nueva sincronización completa de tus productos, lo que hará que Clerk obtenga las rutas correctas de las imágenes.
En la extensión de Magento para Clerk v2.1.0, este problema se soluciona haciendo que se inicie automáticamente una sincronización cuando se borra la caché de imágenes.
Si utilizas una versión anterior de la extensión, recomendamos encarecidamente actualizar a la última versión.
Actualizar a Clerk.js 2 #
Clerk.js 2 es una versión más rápida y flexible de nuestra biblioteca JavaScript.
Facilita la instalación de Clerk en cualquier tienda.
Sin embargo, como ambas versiones funcionan de forma algo diferente, debes seguir estos pasos para una actualización exitosa.
Las dos principales diferencias de Clerk.js 2 son que los Designs en my.clerk.io usan el lenguaje de plantillas Liquid, aunque también pueden crearse fácilmente usando el Design Editor.
Crear diseños #
Como Clerk.js 2 aborda los Designs de forma diferente, debes crear nuevos.
Puedes crear tus Designs de Clerk.js 2 de dos maneras:
Usar el intuitivo Design Editor para crear nuevos Designs, como se describe en los siguientes puntos.
Convertir tus diseños antiguos. Sigue esta guía para ver cómo hacerlo.
Opción Design Editor #
- Ve a my.clerk.io > Recommendations/Search > Designs > New Design.

- Elige el tipo de Design.

En el Design Editor, haz clic en cualquiera de los elementos existentes como el nombre, imagen, botón, etc. para editarlo, o selecciona nuevos elementos para agregar más información sobre los productos.
Haz clic en Publish cuando hayas terminado y ve a Step 2 en la guía.

Ve a Recommendations/Search > Content y cambia tu Clerk Content para que utilice tu nuevo Design.
Haz clic en Update Content. Esto hará que dejen de mostrarse temporalmente en tu tienda hasta que completes el Step 2. Elige el nuevo Design para todo el contenido que debe actualizarse.

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

Guardar 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 pasar a la nueva extensión.
Normalmente, los archivos que más cambian los desarrolladores son Product.php y Productbase.php, que controlan los atributos de producto.
Estos archivos se encuentran aquí:
app->code->community->Clerk->Clerk->Model->Catalog->Product.php
app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php
Desactivar extensión #
Antes de intentar actualizar, es muy importante que realices lo siguiente:
- Desactiva la extensión antigua 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 mediante Magento Connect o eliminando los archivos por FTP si la instalaste directamente allí.

De lo contrario, tu página de Configuración puede dejar de funcionar y ninguna de las extensiones funcionará después.
Instalar extensión #
Por último, instala de nuevo la última extensión y mueve los archivos que hayas respaldado a tu servidor FTP.
Tu configuración debería conservarse incluso con la nueva instalación.
Revisa System > Configuration > Clerk para asegurarte de que todo sigue ahí.
¡Ahora tienes la última versión de Clerk para Magento instalada, y Clerk.js 2 funciona en tu tienda!
La documentación completa de Clerk.js 2 está aquí:
https://docs.clerk.io/docs/clerkjs-quick-start
Manejo de require.js #
Esto solo aplica al usar la versión v.3.7.2 o inferior de la extensión Clerk Magento 1.
En algunas configuraciones, Require.js impide la carga de Clerk.js, lo que significa que no se mostrarán sliders ni resultados de búsqueda.
Cuando esto sucede, el siguiente error aparecerá en tu consola:
Uncaught ReferenceError: Clerk is not defined
Hay dos formas 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 #
La mejor opción es lograr 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; al inicio del tracking script:

Después de usar una de estas opciones, 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.