Modifica delle dimensioni delle immagini #
Per impostazione predefinita, l’estensione utilizza le dimensioni originali delle immagini impostate in Magento 2, ma queste possono essere modificate se necessario.
Iniziate accedendo al backend di Magento 2 e andate su:
Negozi -> Configurazione ->Clerk ->Configurazione
Alla voce Sincronizzazione-> Tipo di immagine è possibile scegliere esattamente la risoluzione in cui inviare le immagini:
Successivamente, fare clic su Salva configurazione.
Ora è sufficiente eseguire una nuova sincronizzazione in my.clerk.io e le nuove dimensioni delle immagini saranno importate.
Utilizzo dei formattatori nei progetti #
Clerk.js consente di scrivere funzioni javascript personalizzate, che aggiungono nuove funzionalità ai disegni.
I formattatori possono essere aggiunti in due modi:
- Attraverso my.clerk.io > Impostazioni > Formatters, dove ogni Formatter può essere creato come voce separata.
- Come configurazione per Clerk.js, nel tracking-script inserito in tutte le pagine, dove si possono aggiungere più formattatori contemporaneamente.
Per Magento 2, questo file contiene il tracking-script:
vendor->view->frontend->templates->tracking.phtml
Un esempio può essere visto qui sotto. Si prega di notare che questo è per Clerk V2 (ultima versione):
Clerk('config', {
key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
formatters: {
log_price: function(price) {
console.log(price);
}
});
È possibile scrivere un numero qualsiasi di Formatter, 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;
}
}
Dopo aver creato i formattatori, è possibile utilizzarli nei propri progetti utilizzando questa sintassi:
{% raw %} {{{ price | log_price }} {{ price | calculate_discount | special_price }}) {% endraw %}
In questo modo è possibile creare nei propri progetti tutte le funzionalità necessarie.
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 visualizzerà un errore 401 Unauthorized nel log di sincronizzazione.
È possibile verificare facilmente l’importatore inserendo le informazioni di autenticazione nell’URL di importazione come di seguito, in Data Sync a my.clerk.io:
http://USER:PASS@magento2.clerk.io/
Problemi comuni di sincronizzazione #
> **Nota: ** Si consiglia di aggiornare sempre il plugin all’ultima versione per ottenere tutte le funzionalità aggiornate da Clerk.
Quando si importano i dati con l’estensione Magento 2 di Clerk.io, il server del webshop è responsabile dell’invio dei dati relativi alle categorie di prodotti e alle vendite a Clerk.io.
Tuttavia, in alcuni casi, la configurazione del server potrebbe impedire l’accesso all’importazione, causando un errore nella Sincronizzazione dei dati.
Di seguito è riportato un elenco degli errori più comuni e di come risolverli.
401 Errore del server: Non autorizzato #
Questo errore si verifica se il vostro webshop/ambiente di sviluppo richiede l’autenticazione HTTP per accedervi.
Per risolvere questo problema è sufficiente inserire Nome utente e Password come parte dell’URL di importazione:
http://username:password@magento2.clerk.io
403 Errore del server: Vietato #
Questo errore si verifica spesso per uno dei seguenti motivi:
Il vostro server blocca l’accesso all’importatore. Nella maggior parte dei casi è sufficiente inserire nella whitelist l’indirizzo IP dell’importatore per consentirgli l’accesso. L’indirizzo IP più recente [può essere trovato qui] (http://help.clerk.io/it/platform/data/sync/#whitelisting-the-importer-ip-address).
È possibile che la chiave pubblica, la chiave privata e/o l’url di importazione del negozio in my.clerk.io non siano corretti.
Si stanno utilizzando Storeview con URL nascosti, come mywebshop.com?__store=b2b. A volte, questi URL possono contenere anche 3 trattini bassi, come in questo caso: mywebshop.com?___store=b2b
In quest’ultimo caso, è sufficiente includere il parametro _store nell’URL in Data:
**Cosa succede se ho già inserito la whitelist ma si verifica ancora lo stesso errore?
Ci sono alcuni casi in cui l’indirizzo IP dell’importatore è stato inserito nella whitelist e l’errore persiste.
La parte del corpo dell’autenticazione può essere rimossa dalla richiesta del server del negozio.
Limite di velocità per il server in relazione a cloudflares.
404 Errore del server: Non trovato #
Questo errore si verifica se l’importatore non è riuscito ad accedere al link che ci invia i dati dal negozio web. Nella maggior parte dei casi accade perché l’estensione è o:
Non è installata affatto
Una cache impedisce l’inizializzazione del collegamento
Assicurarsi innanzitutto di aver installato correttamente l’estensione.
In secondo luogo, assicurarsi di svuotare la cache del webshop prima di provare una nuova importazione.
429 Errore del server: Troppe richieste #
Questo errore si verifica se il server nega l’accesso all’importatore a causa di un numero eccessivo di richieste in entrata.
È possibile risolvere il problema impostando un limite di richieste più alto per il proprio server o impostando Page Size su un valore più alto nell’importatore Clerk.io, in modo che l’importatore faccia meno richieste, più grandi:
Se si utilizza l’host provider hypernode.com/nl, l’importatore di solito restituisce questo errore a causa del suo limitatore di velocità. In questo caso, è sufficiente contattare hypernode.com/nl e chiedere loro di inserire nella whitelist degli importatori l’User-Agent " clerk “.
500 Errore interno del server #
Questo errore significa che il vostro server ha riscontrato un errore interno e non siete stati in grado di specificare quale errore si sia verificato.
In questi casi è possibile controllare il registro del server per identificare quale processo si è bloccato e perché. Nella maggior parte dei casi si tratta semplicemente di un prodotto con un attributo non valido o di una funzione chiamata in modo errato nel webshop.
###3 Errore del server: Servizio non disponibile
Questo errore è solitamente temporaneo ed è causato dal fatto che il server è troppo occupato per gestire la richiesta. Riprovare più tardi.
Se il problema continua a verificarsi, potrebbe significare che il server è sovraccarico di processi ed è vicino alla capacità massima.
Controllate il carico del server per verificare se è questo il caso.
Risposta non valida ricevuta #
Questo errore si verifica solitamente se il vostro negozio web utilizza un sistema di reindirizzamento, per inviare i clienti a domini diversi.
Ad esempio, andando su " https://mywebshop.com” si potrebbe essere reindirizzati a " https://mywebshop.com/it"".
In questo caso, è sufficiente utilizzare l’URL completo quando si importa in my.clerk.io:
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 negozio web un gioco da ragazzi.
Tuttavia, poiché le due versioni funzionano in modo leggermente diverso, è necessario seguire i seguenti passaggi per eseguire correttamente l’aggiornamento.
Le due differenze principali di Clerk.js 2 sono che i progetti in my.clerk.io utilizzano il Liquid linguaggio di template, ma possono anche essere facilmente creati utilizzando il Design Editor.
Passo 1: Conversione dei progetti #
Poiché Clerk.js 2 ha un approccio diverso ai disegni, è necessario crearne di nuovi.
È possibile creare i progetti di Clerk.js 2 in due modi:
1. Utilizzando l’intuitivo Editor di progetti per creare nuovi progetti, come descritto nei punti seguenti.
2. Convertire i vecchi progetti. [Seguite questa guida per vedere come fare].(http://help.clerk.io/it/integrations/any-webshop/faq/#converting-designs-for-clerkjs-2)
1.1 Iniziare andando su my.clerk.io -> Raccomandazioni / Ricerca -> Disegni e fare clic su Nuovo disegno:
1.2 Nella schermata seguente, assegnare al progetto un nome (si consiglia di aggiungere " V2" in modo che sia evidente che si sta utilizzando Clerk.js2).
1.3. Scegliere il tipo di progetto.
1.4. Nel Design Editor, fate clic su uno qualsiasi degli elementi esistenti, come il nome, l’immagine, il pulsante ecc. per modificarlo, oppure aggiungete nuovi elementi al design per aggiungere ulteriori informazioni sui prodotti.
1.5. Fare clic su Pubblica quando si è finito e passare al Fase 2 della guida.
1.6. Infine, andare su Raccomandazioni / Ricerca -> Contenuto e modificare il contenuto di Clerk.io per utilizzare il nuovo design.
1.7. Fare clic su Aggiornamento dei contenuti, in modo che non vengano temporaneamente visualizzati nel negozio web, fino a quando non si è terminato il Fase 2 Scegliere il nuovo design per tutti i contenuti che devono essere aggiornati.
1.9. Ecco! Ora siete pronti per passare a Clerk.js 2.
Passo 2: Aggiornare l’estensione #
**AVVERTENZA: ricordarsi di fare un backup di tutti i file modificati, perché verranno sovrascritti.
L’aggiornamento dell’estensione di Magento 2 si effettua tramite commandline.
Si effettua seguendo i seguenti passaggi:
2.1. Accedere al server tramite commandline.
2.2. Accedere alla cartella webroot (di solito " /var/www/il vostro_dominio/public_html").
2.3. Abilitare l’accesso a Root digitando su e poi inserendo la password.
2.4.Digitare i seguenti comandi in ordine:composer update clerk/magento2php bin/magento setup:upgradephp bin/magento setup:di:compile
2.5. Attendere il completamento dell’estensione.
Magento 2 è ora aggiornato all’ultima versione.
Ora avete installato l’ultima versione di Clerk.io per Magento 2 e Clerk.js 2 è in esecuzione sul vostro negozio online!
La documentazione completa di Clerk.js 2 è disponibile qui:
https://docs.clerk.io/docs/clerkjs-quick-start
Gestione di require.js #
Questa guida si applica solo se si utilizza l’estensione Clerk di Magento 2 fino alla versione 2.8.3..
In alcune configurazioni, Require.js impedisce il caricamento di Clerk.js, il che significa che non verranno visualizzati i cursori o i risultati della ricerca.
Quando ciò accade, nella console viene visualizzato il seguente errore:
Uncaught ReferenceError: Clerk is not defined
L’estensione di Magento 2 gestisce già Require.js, ma in alcuni casi è necessario che ignori Clerk.js.
È possibile farlo nel seguente file:
vendor->clerk->magento2->templates->tracking.phtml
Inserire semplicemente window._clerk_ignore_requirejs = true;
nella parte superiore dello script di tracciamento:
Dopo aver utilizzato questo approccio, Require.js sarà ora compatibile con Clerk.io.