FAQ
Hai problemi con la tua 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 stai utilizzando la funzione di conversione standard di Magento 1.
Viene aggiunta in my.clerk.io -> Designs, con il formatter 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, aggiungendo il simbolo valuta.
Utilizzo dei formatter #
Clerk.js permette di scrivere funzioni JavaScript personalizzate che aggiungono nuove funzionalità ai tuoi Designs.
I formatter 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 inserito su tutte le pagine, dove possono essere aggiunti più formatter contemporaneamente.
Per Magento 1, questo file contiene lo tracking-script:
app->design->frontend->base->default->template->clerk->tracking.phtml
Esempio di formatter #
Un esempio può essere visto qui sotto. Attenzione, 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);
}
}
});
Formatter multipli #
Puoi scrivere qualsiasi numero di Formatters, separati da 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 Formatter, puoi usarli nei tuoi Designs con questa sintassi:
{%raw%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}
Questo ti permette di creare qualsiasi funzione necessaria nei tuoi Designs.
Autenticazione HTTP #
L’autenticazione HTTP è spesso usata su siti di staging per evitare visitatori indesiderati.
Questo bloccherà il Clerk Importer mostrando un errore 401 Unauthorized nel log di sincronizzazione.
Puoi risolverlo inserendo le informazioni di autenticazione nell’Import URL.
In my.clerk.io > Data > Configuration, aggiorna il tuo import URL così:
http://USER:PASS@magento.clerk.io/clerk/api/store/1
Errori comuni di sincronizzazione #
Nota: Si consiglia vivamente di aggiornare sempre l’estensione all’ultima versione per usufruire di tutte le funzionalità più recenti da Clerk.
Durante l’importazione dati con l’estensione Magento 1, il server del tuo webshop è responsabile dell’invio di dati prodotto, categoria 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 un elenco degli errori più comuni e come risolverli.
401 Unauthorized #
Questo errore si verifica se il tuo webshop o ambiente di sviluppo richiede autenticazione HTTP per accedervi.
Si risolve inserendo Username e Password come parte dell’Import URL:
http://username:password@magento.clerk.io/clerk/api/store/1
403 Forbidden #
Questo errore avviene se il tuo server blocca l’accesso all’importer.
Nella maggior parte dei casi, basta mettere in whitelist l’indirizzo IP dell’importer per dargli accesso.
L’indirizzo IP più recente si trova qui.
Controlla anche che la tua public key, private key e import URL siano corretti per lo store in uso su my.clerk.io.
Cosa fare se ho già messo in whitelist ma l’errore si verifica ancora?
In alcuni casi, anche dopo aver messo in whitelist l’IP, l’errore persiste.
Si consiglia in questi casi di controllare:
La parte di autenticazione del body potrebbe essere rimossa dalla richiesta dal server del negozio.
Limite di richiesta impostato dal server rispetto a Cloudflare.
404 Not Found #
Questo errore appare se l’importer non riesce ad accedere al link che invia i dati dal webshop.
Di solito si verifica perché l’estensione è:
Non installata
Una cache causa la mancata inizializzazione del link
Prima, assicurati di aver installato correttamente l’estensione.
In secondo luogo, svuota la cache del webshop prima di tentare una nuova importazione.
429 Too Many Requests #
Questo errore accade se il server nega l’accesso all’importer per troppe richieste in entrata.
Puoi risolverlo aumentando il limite di richieste del server o impostando un valore più alto in Page Size in my.clerk.io > Data > Configuration. Un page size maggiore fa sì che l’importer mandi meno richieste, ma più grandi.
Se utilizzi il provider Byte.nl, l’errore avviene solitamente 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 riscontrato un errore interno e non è stato in grado di specificare quale errore.
In questi casi, controlla il Server Log per identificare quale processo è andato in crash e perché.
Generalmente succede per un prodotto con attributo non valido, o per una funzione chiamata in modo scorretto nel webshop.
503 Service Unavailable #
Questo errore è solitamente temporaneo ed è causato dal server troppo occupato per gestire la richiesta.
Riprova più tardi.
Se il problema persiste, potrebbe significare che il server è sovraccarico di processi ed è vicino alla capacità massima.
Verifica il carico del server per capire se è il caso.
Magento API error #
Questo errore indica che il tuo server ha riscontrato un errore interno e non è stato in grado di specificare quale errore o codice errore.
In questi casi, controlla il Server Log per identificare quale processo è andato in crash e perché.
Generalmente succede per un prodotto con attributo non valido, oppure se il limite di memoria è stato superato.
Powerstep non visibile #
Se lo step Aggiungi al carrello non è attivato, generalmente per due motivi:
È già presente un altro popup o funzione di aggiunta al carrello che blocca la funzione di Clerk.
Sono stati inseriti ID elemento errati nell’estensione.
Altro popup abilitato #
Controlla innanzitutto nella tua installazione Magento se hai già un popup o dropdown visualizzato all’aggiunta di un prodotto al carrello.
Questi possono bloccare lo step di aggiunta al carrello di Clerk.
Se è così, disattivalo e riprova.
ID elementi errati #
Se non hai altri popup di aggiunta al carrello, e il powerstep risulta attivato ma non visibile, probabilmente sono stati inseriti template ID errati nelle impostazioni dell’estensione Clerk.
Così il Powerstep non funzionerà.
Per risolvere, accedi come admin Magento e vai su System > Configuration > Clerk > Settings.
Poi scegli il giusto Configuration Scope corrispondente al tuo store.
In Power step settings, controlla il campo Templates.
Questo campo deve contenere i corretti ID separati da virgole, se ne usi più di uno.
Per essere sicuro che i tuoi ID siano corretti, accedi a my.clerk.io.
Scegli lo Store e vai su Recommendations/Search > Elements.
Clicca su Edit Element per lo slider che vuoi mostrare nel powerstep.
Controlla l’ultima scheda “Insert into website” e trova l’embed code.
Copia il valore di data-template dall’embed code nel campo Templates nell’estensione Magento.
Clicca su Save Config nell’estensione Magento, e ora il Powerstep dovrebbe funzionare.
Problemi di cache #
Se hai attivato il powerstep popup e non appare 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 funziona, probabilmente stai usando Full Page cache, che impatta solo le pagine già visualizzate dal visitatore nella sessione. Disattivandola l’impatto sulla velocità è minimo.
Dopo aver disattivato la Full Page Cache, il popup di Clerk dovrebbe apparire.
Se ancora non appare, contatta Clerk Support tramite l’icona live-chat in basso a destra, e ti aiuteremo a trovare la soluzione migliore per il tuo setup.
Slider in homepage in cache #
Succede di solito se inserisci gli embed code tramite le CMS Pages di Magento, perché la homepage viene messa in cache.
Inserisci invece gli embed code direttamente nei file della homepage tramite FTP.
Così Magento non mette in cache il risultato renderizzato.
Immagini non visibili #
Quando la cache immagini di Magento viene svuotata, manualmente o automaticamente, tutti i percorsi delle immagini cambiano.
Significa che i percorsi immagini inviati a Clerk non funzionano più.
Per risolvere fai così:
Accedi a my.clerk.io.
Clicca sullo Store in cui mancano le immagini.
Vai su Data.
Clicca su Start New Data Sync in alto a destra.
Questo avvierà una nuova sincronizzazione completa dei prodotti, facendo ottenere a Clerk i percorsi corretti delle immagini.
Nella versione v2.1.0 dell’estensione Magento di Clerk, il problema viene risolto avviando automaticamente una Sync quando la cache immagini viene svuotata.
Se usi una versione vecchia dell’estensione, si consiglia vivamente di aggiornare all’ultima versione.
Aggiorna a Clerk.js 2 #
Clerk.js 2 è una versione più veloce e flessibile della nostra libreria JavaScript.
Rende l’installazione di Clerk più facile su ogni webshop.
Tuttavia, poiché le due versioni funzionano in modo leggermente diverso, è necessario seguire questi passaggi per aggiornare.
Le due principali differenze in Clerk.js 2 sono che i Designs in my.clerk.io usano il linguaggio di templating Liquid, ma possono essere creati facilmente con il Design Editor.
Crea i designs #
Poiché Clerk.js 2 usa un approccio diverso ai Designs, devi crearne di nuovi.
Puoi creare i nuovi Designs di Clerk.js 2 in due modi:
Usa l’intuitivo Design Editor per creare nuovi Designs, come descritto di seguito.
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 Design, clicca su uno degli elementi esistenti come nome, immagine, bottone, ecc. per modificarlo, oppure seleziona nuovi elementi da aggiungere per inserire più informazioni sui prodotti.
Clicca Publish quando hai finito, e vai a Step 2 nella guida.
Vai su Recommendations/Search > Elements e cambia il tuo Clerk Element per usare il nuovo Design.
Clicca Update Element. Temporaneamente, i design non appariranno nel tuo webshop fino al completamento dello Step 2. Scegli il nuovo Design per tutti gli Elements che vanno aggiornati.
Ora sei pronto per passare a Clerk.js 2.
Aggiorna l’estensione #
Se hai già installato l’ultima versione dell’estensione Clerk per Magento, puoi saltare questo step.
Puoi scaricare l’ultima estensione a 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
- Aver fatto un backup di tutti i file modificati da poter riportare nella nuova estensione.
Di solito, i file che vengono modificati di più 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 l’estensione #
Prima di aggiornare, è molto importante fare così:
Disattiva la vecchia estensione nella pagina System > Configuration > Clerk > Settings di Magento. Imposta Enable su No e clicca su Save Config.
Poi disinstallala tramite Magento Connect oppure eliminando i file da FTP se l’hai installata direttamente lì.
Altrimenti la pagina di Configuration potrebbe smettere di funzionare e nessuna estensione funzionerà più.
Installa l’estensione #
Infine, installa di nuovo l’ultima estensione e carica sul server FTP tutti i file che hai salvato come backup.
La configurazione dovrebbe rimanere salvata anche installando la nuova versione.
Controlla System > Configuration > Clerk per assicurarti che tutto sia presente.
Ora hai l’ultima versione di Clerk per Magento installata e Clerk.js 2 in funzione sul tuo webshop!
La documentazione completa di Clerk.js 2 si trova 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 Clerk per Magento 1.
In alcune configurazioni, Require.js impedisce il caricamento di Clerk.js, quindi slider e risultati di search non saranno visibili.
Quando succede, questo errore apparirà nella console:
Uncaught ReferenceError: Clerk is not defined
Ci sono due modi per gestire Require.js. Entrambi richiedono modifiche allo tracking-script in questo file:
app->design->frontend->base->default->template->clerk->tracking.phtml
Inclusione in Require.js #
Il modo migliore è far riconoscere Clerk a Require.js.
Inserisci require(['clerk'], function() {}); in fondo allo tracking script.
Ignora Require.js #
Se la soluzione precedente non funziona, puoi ignorare Require.js.
Inserisci window.__clerk_ignore_requirejs = true; all’inizio dello tracking script.
Dopo aver adottato uno di questi metodi, Require.js sarà compatibile con Clerk.
Questa pagina è stata tradotta da un'utile intelligenza artificiale, quindi potrebbero esserci errori linguistici. Grazie per la comprensione.