FAQ
Utilizzo dei formattatori nei design #
Clerk.js ti consente di scrivere funzioni javascript personalizzate, che aggiungono nuove funzionalità ai Design.
I formattatori possono essere aggiunti in due modi:
- Attraverso my.clerk.io > Impostazioni > Formattatori, dove ogni Formattatore può essere creato come voci separate.
- Come una configurazione per Clerk.js, nello script di tracciamento che viene inserito in tutte le pagine, dove possono essere aggiunti più formattatori contemporaneamente.
Per Prestashop, questo file contiene lo script di tracciamento:
modules->clerk->views->templates->hook->clerk_js.tpl
Un esempio può essere visto qui sotto. Si prega di notare che questa è Clerk V2 (ultima versione):
<!-- Inizio dello strumento di personalizzazione E-commerce di Clerk.io - www.clerk.io -->
<script type="text/javascript">
(function(w,d){
var e=d.createElement('script');e.type='text/javascript';e.async=true;
e.src='https://cdn.clerk.io/clerk.js';
var s=d.getElementsByTagName('script')[0];s.parentNode.insertBefore(e,s);
w.__clerk_q=w.__clerk_q||[];w.Clerk=w.Clerk||function(){ w.__clerk_q.push(arguments) };
})(window,document);
Clerk('config', {
key: '{$clerk_public_key}',
collect_email: {$clerk_datasync_collect_emails},
language: '{$language}',
formatters: {
log_price: function(price) {
console.log(price);
}
},
});
</script>
<!-- Fine dello strumento di personalizzazione E-commerce di Clerk.io - www.clerk.io -->
Puoi scrivere qualsiasi numero di Formattatori, 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;
}
}
Dopo aver creato i tuoi Formattatori, puoi usarli nei tuoi Design utilizzando questa sintassi:
{% raw %}{{ price | log_price }} {{ price | calculate_discount | special_price }}{% endraw %}
Questo ti consente di creare qualsiasi funzionalità nei tuoi Design di cui hai bisogno.
Sincronizzazione con HTTP Auth #
Spesso l’autenticazione HTTP viene utilizzata sui siti di staging per evitare visitatori non invitati.
Questo bloccherà anche l’importatore Clerk e mostrerà un errore 401 Non autorizzato nel registro di sincronizzazione.
Puoi facilmente verificare l’importatore inserendo le informazioni di autenticazione nell’URL di importazione come di seguito, in Data Sync su my.clerk.io:
https://USER:PASS@www.ewoksRus.com

Errori comuni di sincronizzazione #
Nota: Ti consigliamo di aggiornare sempre il plugin all’ultima versione per ottenere tutte le funzionalità aggiornate da Clerk.
Quando importi dati con il plugin PrestaShop di Clerk.io, il server del webshop è responsabile dell’invio dei dati di prodotto, categoria e vendita a Clerk.io.
Tuttavia, in alcuni casi, la configurazione del server potrebbe impedire all’importazione di ottenere accesso, causando un errore in Data Sync.
Di seguito è riportato un elenco degli errori più comuni e come risolverli.
401 Errore del server: Non autorizzato #
Questo errore si verifica se il tuo webshop/ambiente di sviluppo richiede autenticazione HTTP per accedervi.
Questo si risolve semplicemente inserendo il Nome utente e la Password come parte dell’URL di importazione:
http://username:password@prestashop.clerk.io/clerk/api/store/1
403 Errore del server: Vietato #
Questo errore si verifica se il tuo server blocca l’importatore dall’accesso. Nella maggior parte dei casi, è sufficiente aggiungere alla lista bianca l’indirizzo IP dell’importatore per dargli accesso.
L’ultimo indirizzo IP può essere trovato qui.
Controlla anche che la tua chiave pubblica, chiave privata e URL di importazione siano corretti per il negozio in cui operi su my.clerk.io.
In alcuni casi, questo errore verrà mostrato anche se stai utilizzando domini di lingua diversi, come http://webshop.com/it. In questo caso, assicurati di includere il dominio completo che desideri sincronizzare:

E se ho già aggiunto alla lista bianca ma si verifica ancora lo stesso errore?
Ci sono alcuni casi in cui hai aggiunto alla lista bianca l’indirizzo IP dell’importatore e l’errore persiste, quindi ti consigliamo di esaminare queste aree:
La parte di autenticazione del corpo potrebbe essere rimossa dalla richiesta del server del negozio.
Limite di frequenza per il server in relazione a cloudflare.
Controlla se l’URL dell’importatore include https.
404 Errore del server: Non trovato #
Questo errore si verifica se l’importatore non è riuscito ad accedere al link che ci invia dati dal webshop. Nella maggior parte dei casi, ciò accade perché l’estensione è:
Non installata affatto
Una cache impedisce l’inizializzazione del link
Prima assicurati di aver installato correttamente il modulo.
In secondo luogo, assicurati di svuotare la cache del tuo webshop prima di provare un nuovo import.
429 Errore del server: Troppe richieste #
Questo errore si verifica se il tuo server nega l’accesso all’importatore a causa di troppe richieste in arrivo.
Puoi risolvere questo impostando il limite di richiesta più alto, per il tuo server o impostando la Dimensione della pagina a un valore più alto nell’importatore di Clerk.io, causando all’importatore di effettuare meno richieste più grandi:

Se stai utilizzando il provider di hosting Byte.nl, l’importatore restituisce solitamente questo errore a causa del loro limitatore di frequenza. In questo caso, contatta semplicemente Byte.nl e chiedi di aggiungere alla lista bianca l’User-Agent dell’importatore " clerk".
500 Errore interno del server #
Questo errore significa che il tuo server ha incontrato un errore interno e non è stato in grado di specificare quale errore sia avvenuto.
In questi casi puoi controllare il tuo Registro del server per identificare quale processo è andato in crash e perché. Nella maggior parte dei casi, è semplicemente a causa di un prodotto con un attributo non valido o di una funzione chiamata in modo errato nel webshop.
Se hai installata l’App Facebook Pixel, è noto che causa un errore 500. Prova a disattivare l’app e a eseguire una nuova sincronizzazione. Se funziona, mantieni l’app disattivata e copia manualmente il Pixel di Facebook nel tuo file principale del tema.
Puoi anche provare ad attivare la Modalità Debug in Prestashop, che stamperà il messaggio di errore esatto quando ottieni un errore 500.
ATTIVA SEMPRE la Modalità Debug tramite FTP, per evitare di essere potenzialmente bloccato dal Pannello di amministrazione di Prestashop. Controlla come farlo con FTP.
503 Errore del server: Servizio non disponibile #
Questo errore è solitamente temporaneo ed è causato dal server che è troppo occupato per gestire la richiesta. Prova di nuovo più tardi.
Se il problema continua a verificarsi, potrebbe significare che il server è sovraccarico di processi e si avvicina alla capacità massima.
Controlla il carico del server per identificare se questo è il caso.
520: Il server web ha restituito un errore sconosciuto #
Di solito questo errore viene restituito da CloudFlare e spesso si verifica a causa di un collo di bottiglia in Prestashop che causa problemi con dimensioni di pagina più elevate.
Per risolverlo, imposta semplicemente la tua Dimensione della pagina su 50 e esegui una nuova sincronizzazione:

Risposta non valida ricevuta da Prestashop #
Questo errore è spesso causato dall’uso del Modulo Facebook Pixel, che inserisce un pixel nella parte superiore di tutti i file in Prestashop.
Questo causerà spesso il fallimento della Data Sync, poiché il pixel interferisce con i dati che Clerk.io dovrebbe ricevere da Prestashop.
Risolvere questo problema è abbastanza semplice: devi semplicemente apportare una piccola modifica a pspixel.php, che è il file che genera il pixel.
Spesso questo si trova in uno dei seguenti 4 percorsi:
- /modules/pspixel/pspixel.php
- /modules/alcapixel/alcapixel.php
- /modules/facebookpixel/facebookpixel.php
- /modules/canonicalseo/canonicalseo.php
Nel file, intorno alla linea 196, devi inserire la seguente riga di codice all’interno della public function hookHeader($params):
if (strpos($_SERVER['REQUEST_URI'], '/module/clerk/') !== false) {
return;
}
Per supportare la nuova sincronizzazione dei dati:
if (Tools::getValue('module') == 'clerk') {
return;
}
Alla fine, il file dovrebbe apparire così:

Questo rimuoverà il pixel specificamente dai link che Clerk.io utilizza per importare dati da Prestashop.
Disattivazione di CCC #
CCC ( C oncatena, C ombina e C ache) è una funzionalità integrata di PrestaShop che consente di ridurre il numero di richieste del tuo template e quindi di memorizzarle nella cache.
A volte questa funzionalità può interferire con il nostro processo di Data Sync e bloccarlo.
Se stai riscontrando errori di Data Sync, apri il tuo backend di PrestaShop e visita la sezione chiamata
Parametri avanzati –> Prestazioni
poi vai alla sezione chiamata
CCC (Combina, Comprimi e Cache)

disattiva tutte le sue sottofunzionalità, poi salva, svuota la cache di PrestaShop e goditi!
P.S: puoi ottenere lo stesso livello di compressione dei dati - e quindi prestazioni di caricamento delle pagine - utilizzando un CDN o un modulo PrestaShop dedicato che impone la stessa compressione e combinazione di librerie.
Aggiornamento a Clerk.js 2 #
Clerk.js 2 è una versione più veloce e molto più flessibile della nostra libreria JavaScript che rende l’installazione di Clerk.io su qualsiasi webshop un gioco da ragazzi.
Tuttavia, poiché le due versioni funzionano in modo leggermente diverso, devi seguire questi passaggi per eseguire correttamente l’aggiornamento.
Le due principali differenze in Clerk.js 2 sono che i Design in my.clerk.io utilizzano il Liquid linguaggio di templating, ma possono anche essere facilmente creati utilizzando l’Editor di Design.
Passo 1: Conversione dei Design #
Poiché Clerk.js 2 ha un approccio diverso ai Design, devi crearne di nuovi.
Puoi creare i tuoi Design di Clerk.js 2 in uno dei due modi:
1. Usa l’intuitivo Editor di Design per creare nuovi Design, come descritto nei punti seguenti.
2. Converti i tuoi vecchi Design. Segui questa guida per vedere come farlo.
1.1 Inizia andando su my.clerk.io e poi Recommendations > Search > Designs > New Design

1.2 Nella schermata successiva, dai al tuo Design un Nome (ti consigliamo di aggiungere " V2" in modo che sia ovvio che stai usando Clerk.js2).
1.3. Scegli il Tipo di Design.
1.4. Quando hai finito, fai clic su Crea Design.

1.5. Nell’Editor di Design, fai clic su uno degli elementi esistenti come il nome, l’immagine, il pulsante, ecc. per modificarlo, oppure trascina e rilascia nuovi elementi nel Design per aggiungere ulteriori informazioni sui prodotti.
1.6. Fai clic su Salva Design quando hai finito e vai al Passo 2 nella guida.

1.7. Infine, vai su Raccomandazioni / Ricerca -> Contenuto e modifica il tuo Clerk.io Contenuto per utilizzare il tuo nuovo Design.
1.8. Fai clic su Aggiorna Contenuto. Questo causerà temporaneamente che non vengano visualizzati sul tuo webshop fino a quando non avrai finito con
Passo 2. Scegli il nuovo Design per tutto il Contenuto che deve essere aggiornato.

1.9. Ecco! Ora sei pronto per passare a Clerk.js 2.
Passo 2: Aggiornamento del tuo modulo #
ATTENZIONE: Ricorda di fare il backup di tutti i file modificati, poiché verranno sovrascritti.
Inizia scaricando l’ultima versione da questo link:
https://github.com/clerkio/clerk-prestashop/releases/latest

Poi accedi al tuo admin di Prestashop e vai su Moduli e Servizi -> Moduli e Servizi

In questa pagina, fai quanto segue:
2.1. Fai clic su Aggiungi Nuovo Modulo
2.2. Fai clic su Scegli un file e carica il file clerk.zip che hai appena scaricato
2.3. Fai clic su Carica questo modulo

PrestaShop mostrerà ora un messaggio di successo, confermando che il tuo modulo è stato aggiornato.
Ora hai l’ultima versione di Clerk.io per PrestaShop installata e Clerk.js 2 è in esecuzione sul tuo webshop!
La documentazione completa per Clerk.js 2 può essere trovata qui:
https://docs.clerk.io/docs/clerkjs-quick-start
Gestione di require.js #
Questa guida si applica solo quando si utilizza fino a v.4.4.1 dell’estensione Clerk di Prestashop.
In alcune configurazioni, Require.js impedisce a Clerk.js di caricarsi, il che significa che non verranno mostrati slider o risultati di ricerca.
Quando ciò accade, verrà mostrato il seguente errore nella tua console:
Uncaught ReferenceError: Clerk is not defined
Ci sono due modi per gestire Require.js. Entrambi gli approcci richiedono di apportare modifiche allo script di tracciamento in questo file:
modules->clerk->views->hook->visitor_tracking.tpl
Includere “clerk” in Require.js #
Il miglior approccio è cercare di far riconoscere Require.js a Clerk.io.
Puoi farlo inserendo require([‘clerk’], function() {}); in fondo allo script di tracciamento:

Ignorare Require.js #
Se la soluzione sopra non funziona, è possibile ignorare Require.js.
Puoi farlo inserendo window.__clerk_ignore_requirejs = true;
nella parte superiore dello script di tracciamento:

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