FAQ
Hai problemi con l’integrazione Magento 1? Questa FAQ copre i problemi più comuni e le loro soluzioni, dalla conversione valuta agli errori di sincronizzazione.
Conversione valuta #
Dalla versione v3.0.3 dell’estensione Magento 1, la Conversione Valuta è inclusa di default, se utilizzi la funzione di conversione standard di Magento 1.
È aggiunta in my.clerk.io -> Designs, con il formattatore price_in_currency.
Il helper può essere aggiunto al tuo Design nel seguente modo:
{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}
Il helper convertirà automaticamente il prezzo nella valuta della sessione corrente e aggiungerà il simbolo di valuta.
Esempio di output:

Utilizzo dei formattatori #
Clerk.js ti permette di scrivere funzioni JavaScript personalizzate che aggiungono nuove funzionalità ai tuoi Designs.
I formattatori possono essere aggiunti in due modi:
Tramite my.clerk.io > Developers > Formatters, dove ogni Formatter può essere creato come voce separata.
Come configuration per Clerk.js, nello tracking-script che viene inserito in tutte le pagine, dove puoi aggiungere più formattatori contemporaneamente.
Per Magento 1, questo file contiene lo tracking-script:
app->design->frontend->base->default->template->clerk->tracking.phtml
Esempio di formattatore #
Un esempio è mostrato di seguito. Nota che questo è per Clerk V2 (ultima versione):
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);
}
}
});
Più formattatori #
Puoi scrivere qualsiasi numero di Formatters, separati da una virgola:
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;
}
}
Utilizzo nei designs #
Dopo aver creato i tuoi Formatters, puoi usarli nei tuoi Designs utilizzando questa sintassi:
{%raw%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}
Questo ti permette di creare qualsiasi funzionalità nei tuoi Designs di cui hai bisogno.
Autenticazione HTTP #
L’autenticazione HTTP è spesso usata sui siti di staging per evitare visite indesiderate.
Questo bloccherà il Clerk Importer e mostrerà un errore 401 Unauthorized nel log di sincronizzazione.
Puoi risolvere inserendo le informazioni di autenticazione nell’URL di importazione.
In my.clerk.io > Data > Configuration, aggiorna il tuo URL di importazione così:
http://USER:PASS@magento.clerk.io/clerk/api/store/1

Errori comuni di sincronizzazione #
Nota: Consigliamo sempre di aggiornare l’estensione all’ultima versione per ottenere tutte le funzionalità aggiornate da Clerk.
Durante l’importazione dei dati con l’estensione Magento 1, il server del tuo webshop è responsabile dell’invio di dati su prodotti, categorie e vendite a Clerk.
Tuttavia, in alcuni casi, la configurazione del server potrebbe impedire all’Importer di accedere, causando un errore in Data Sync.
Di seguito una lista degli errori più comuni e come risolverli.
401 Unauthorized #
Questo errore avviene se il tuo webshop o ambiente di sviluppo richiede autenticazione HTTP per l’accesso.
Si risolve inserendo Username e Password come parte dell’URL di importazione:
http://username:password@magento.clerk.io/clerk/api/store/1
403 Forbidden #
Questo errore avviene se il server blocca l’Importer nell’accesso.
Nella maggior parte dei casi, è sufficiente mettere in whitelist l’indirizzo IP dell’importer per concedere l’accesso.
L’ultimo indirizzo IP può essere trovato qui.
Verifica anche che la tua public key, private key e import URL siano corrette per lo store su cui operi in my.clerk.io.
E se ho già whitelisted ma l’errore persiste?
Ci sono alcuni casi in cui hai già messo in whitelist l’indirizzo IP dell’importer e l’errore continua.
In questi casi, ti consigliamo di controllare questi aspetti:
La parte di autenticazione del body potrebbe essere rimossa dalla richiesta dal server dello shop.
Limitazione della frequenza del server rispetto a Cloudflare.
404 Not Found #
Questo errore si verifica se l’importer non riesce ad accedere al link che invia i dati dal webshop.
Nella maggior parte dei casi avviene perché l’estensione è:
Non installata affatto
Una cache impedisce l’inizializzazione del link
Per prima cosa assicurati di aver installato correttamente l’estensione.
Poi, assicurati di svuotare la cache del tuo webshop prima di tentare una nuova importazione.
429 Too Many Requests #
Questo errore avviene se il tuo server nega l’accesso all’importer a causa di troppe richieste in arrivo.
Puoi risolverlo aumentando il request limit del tuo server o impostando un valore più alto in Page Size in my.clerk.io > Data > Configuration, così da ridurre il numero di richieste effettuate aumentando la quantità di dati per ciascuna richiesta:

Se utilizzi il provider host Byte.nl, l’importer restituisce di solito questo errore a causa del loro rate limiter. In questo caso, contatta Byte.nl e chiedi di mettere in whitelist lo User-Agent dell’importer “clerk”.
500 Internal Server Error #
Questo errore significa che il tuo server ha incontrato un errore interno e non è stato in grado di specificare quale errore si è verificato.
In questi casi, controlla il tuo Server Log per identificare quale processo è fallito e perché.
Nella maggior parte dei casi, è dovuto a un prodotto con un attributo non valido, o una funzione chiamata in modo errato nel webshop.
503 Service Unavailable #
Questo errore è solitamente temporaneo ed è causato dal server troppo occupato per gestire la richiesta.
Riprova dopo qualche minuto.
Se il problema persiste, può significare che il server è sovraccarico di processi ed è vicino alla capacità massima.
Controlla il carico del server per identificare se si tratta di questo caso.
Errore API Magento #
Questo errore significa anche che il tuo server ha incontrato un errore interno e non è stato in grado di specificare quale errore o codice si è verificato.
In questi casi, controlla il tuo Server Log per identificare quale processo è fallito e perché.
Nella maggior parte dei casi, è semplicemente dovuto a un prodotto con un attributo non valido o al superamento del limite di memoria.
Powerstep non visualizzato #
Se lo step Add-To-Basket non è attivato, normalmente è dovuto a due motivi:
Hai un altro popup o funzione add-to-basket abilitata che blocca la funzione di Clerk.
Sono stati inseriti Content ID errati nell’estensione.
Presenza di un altro popup #
Inizia controllando la tua installazione Magento per vedere se hai già un popup o dropdown che viene visualizzato quando aggiungi un prodotto al carrello.
Questi normalmente impediscono la visualizzazione dello step add-to-basket di Clerk.
Se questo è il caso, disattivalo e riprova.
Content ID errati #
Se non hai alcun altro popup add-to-basket e il tuo powerstep è attivato ma non si visualizza, probabilmente è perché sono stati inseriti template IDs errati nelle impostazioni dell’estensione Clerk.
Questo causerà il fallimento del Powerstep.
Per risolvere, accedi al tuo admin Magento e vai su System > Configuration > Clerk > Settings.

Poi scegli il Configuration Scope corretto che corrisponde al tuo store.

Sotto Power step settings, controlla il campo Templates.
Questo campo deve contenere i corretti IDs separati da virgole, se ne usi più di uno.

Per assicurarti che i tuoi IDs siano corretti, accedi a my.clerk.io.
Scegli il Store corretto e vai su Recommendations/Search > Content.
Clicca su Edit Content per uno slider che vuoi mostrare nel powerstep.

Controlla l’ultima scheda “Insert into website” e trova il codice di embed.
L’ID presente in data-template è quello da copiare nell’estensione Magento:

Clicca Save Config nell’estensione Magento, e il Powerstep dovrebbe funzionare.
Problemi di cache #
Se hai attivato il popup powerstep e ancora non si mostra all’aggiunta di un prodotto al carrello, spesso il problema è la Cache.
Vai su System > Cache e svuota tutte le Cache Interne e di Terze Parti.
Se non risolve, probabilmente stai usando la Full Page cache, che influisce solo sulle pagine già visualizzate da un visitatore nella sessione. Disattivandola l’impatto sulla velocità sarà minimo.
Lo screenshot sotto mostra esattamente quale disattivare:

Una volta disattivata la Full Page Cache, il popup Clerk dovrebbe apparire.
Se non dovesse comparire, contatta Clerk Support tramite l’icona live-chat in basso a destra, e ti aiuteremo a trovare una soluzione specifica per il tuo setup.
Slider in homepage in cache #
Normalmente ciò si verifica solo se i codici di embed sono stati inseriti tramite le CMS Pages backend di Magento, poiché la homepage viene messa in cache:

Invece, i tuoi codici di embed dovrebbero essere inseriti direttamente nei file della homepage, tramite FTP:

Magento non metterà in cache i risultati se inseriti così.
Immagini non visualizzate #
Quando la cache immagine di Magento viene svuotata, manualmente o automaticamente, tutti i percorsi delle immagini cambiano.
Questo significa che i percorsi mandati a Clerk non sono più validi.
Puoi risolverlo facilmente facendo così:
Accedi a my.clerk.io.
Clicca sullo Store dove mancano le immagini.
Vai su Data.
Clicca su Start New Data Sync in alto a destra.

Questo avvierà una nuova sincronizzazione completa dei tuoi prodotti, che farà sì che Clerk riceva i percorsi immagine corretti.
Nell’estensione Magento di Clerk v2.1.0, questo problema è risolto avviando automaticamente una sincronizzazione quando la cache immagine viene svuotata.
Se stai usando una versione più vecchia dell’estensione, consigliamo vivamente di aggiornare all’ultima versione.
Upgrade a Clerk.js 2 #
Clerk.js 2 è una versione più veloce e flessibile della nostra libreria JavaScript.
Rende più semplice installare Clerk su qualsiasi webshop.
Tuttavia, poiché le due versioni funzionano in modo leggermente diverso, devi seguire alcuni passaggi per aggiornarla correttamente.
Le due principali differenze in Clerk.js 2 sono che i Designs in my.clerk.io usano il linguaggio di template Liquid, ma possono anche essere creati facilmente con il Design Editor.
Creazione dei designs #
Poiché Clerk.js 2 adotta un nuovo metodo per i Designs, dovrai crearne di nuovi.
Puoi creare i tuoi Designs Clerk.js 2 in due modi:
Usa il pratico Design Editor per creare nuovi Designs, come descritto nei seguenti punti.
Converti i tuoi vecchi Designs. Segui questa guida per vedere come fare.
Opzione Design Editor #
- Vai su my.clerk.io > Recommendations/Search > Designs > New Design.

- Scegli il Tipo di Design.

Nell’Editor dei Design, clicca su qualsiasi elemento esistente come nome, immagine, pulsante, ecc. per modificarlo, oppure seleziona nuovi elementi da aggiungere per fornire più informazioni sui prodotti.
Clicca su Publish quando hai finito, e vai a Step 2 nella guida.

Vai su Recommendations/Search > Content e aggiorna i tuoi Content di Clerk per usare il nuovo Design.
Clicca su Update Content. Questo farà sì che i contenuti non siano temporaneamente visibili nel tuo webshop fino a quando non terminerai lo Step 2. Scegli il nuovo Design per tutti i contenuti che vuoi aggiornare.

Ora sei pronto per passare a Clerk.js 2.
Aggiornamento estensione #
Se hai già l’ultima versione dell’estensione Magento Clerk, puoi saltare questo passaggio.
Puoi scaricare l’ultima estensione da questo link:
https://github.com/clerkio/clerk-magento/releases/latest

Salva le modifiche #
Prima di tentare l’aggiornamento, assicurati di aver:
- Salvato i file modificati localmente sul tuo FTP, oppure
- Fatto un backup di tutti i file modificati che ti serviranno per la nuova estensione.
Solitamente i file che la maggior parte degli sviluppatori modifica sono Product.php e Productbase.php, che gestiscono gli attributi prodotto.
Questi file si trovano qui:
app->code->community->Clerk->Clerk->Model->Catalog->Product.php
app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php
Disattiva estensione #
Prima di tentare l’aggiornamento, è molto importante che tu faccia quanto segue:
- Disattiva la vecchia estensione dalla pagina System > Configuration > Clerk > Settings di Magento. Imposta Enable su No e clicca su Save Config.

- In seguito, disinstallala tramite Magento Connect oppure eliminando i file da FTP se l’hai installata direttamente.

Altrimenti, la pagina di Configuration potrebbe smettere di funzionare e nessuna delle due estensioni funzionerà più.
Installa estensione #
Infine, reinstalla l’ultima estensione e rimetti i file di backup sul tuo server FTP.
La configurazione dovrebbe essere mantenuta anche installando la nuova versione.
Controlla System > Configuration > Clerk per assicurarti che sia tutto a posto.
Ora hai l’ultima versione di Clerk per Magento installata e Clerk.js 2 attivo sul tuo webshop!
La documentazione completa di Clerk.js 2 è disponibile qui:
https://docs.clerk.io/docs/clerkjs-quick-start
Gestione di require.js #
Questo vale solo utilizzando la versione 3.7.2 o inferiore dell’estensione Magento 1 Clerk.
In alcune configurazioni, Require.js impedisce il caricamento di Clerk.js, quindi nessun slider o risultato search verrà mostrato.
Quando ciò accade, comparirà il seguente errore nella tua console:
Uncaught ReferenceError: Clerk is not defined
Ci sono due modi per gestire Require.js. Entrambi richiedono di apportare modifiche allo tracking-script in questo file:
app->design->frontend->base->default->template->clerk->tracking.phtml
Inclusione in Require.js #
L’approccio migliore è tentare di far riconoscere Clerk a Require.js.
Puoi farlo inserendo require(['clerk'], function() {}); in fondo al tracking script:

Ignora Require.js #
Se la soluzione sopra non funziona, è possibile ignorare Require.js.
Puoi farlo inserendo window.__clerk_ignore_requirejs = true; in cima al tracking script:

Dopo aver applicato uno di questi approcci, Require.js sarà ora compatibile con Clerk.
Questa pagina è stata tradotta da un'utile intelligenza artificiale, quindi potrebbero esserci errori linguistici. Grazie per la comprensione.