Magento 1

FAQ

Gestione della conversione di valuta #

Dalla versione 3.0.3 dell’estensione Magento 1, la conversione di valuta è inclusa per impostazione predefinita, se si utilizza la funzione di conversione standard di Magento 1..

Viene aggiunta in my.clerk.io -> Designs, con il formattatore price_in_currency.

L’helper può essere aggiunto al proprio progetto nel modo seguente:

{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}

L’helper convertirà automaticamente il prezzo nella valuta della sessione corrente e aggiungerà il simbolo della valuta.

Esempio di output:

Uso dei formattatori nei disegni #

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 &gt; Impostazioni &gt; 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 1 questo file contiene il tracking-script:

app->design->frontend->base->default->template->clerk->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: {
                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);
                }
            }
        });

È 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%}{{ x  formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}

Questo vi permette di creare qualsiasi funzionalità nei vostri progetti di cui avete bisogno.

Sincronizzazione con HTTP Auth #

Spesso l’autenticazione HTTP viene utilizzata sui siti di staging per evitare visitatori non invitati.

Questo bloccherà anche Clerk Importer 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@magento.clerk.io/clerk/api/store/1:

Problemi comuni di sincronizzazione #

**Nota: ** Si consiglia di aggiornare sempre l’estensione alla versione più recente per ottenere tutte le funzioni aggiornate da Clerk.
Quando si importano i dati con l’estensione per Magento 1, 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’importatore, causando un errore in Data Sync.

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@magento.clerk.io/clerk/api/store/1

403 Errore del server: Vietato #

Questo errore si verifica se il server blocca l’accesso all’importatore. Nella maggior parte dei casi è sufficiente inserire in una 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/).

Verificare anche che la chiave pubblica, la chiave privata e l’url di importazione siano corretti per il negozio che si sta gestendo all’interno di my.clerk.io

**Cosa succede se ho già effettuato il whitelisting 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 di autenticazione del corpo potrebbe essere stata rimossa dalla richiesta del server del negozio.

  • Limite di velocità del server per quanto riguarda 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 causa la mancata inizializzazione del collegamento

Assicurarsi innanzitutto di aver installato correttamente l’estensione.

In secondo luogo, assicurarsi di cancellare 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 di Clerk.io, in modo che l’importatore faccia un numero minore di richieste più grandi:

Se si utilizza il provider Byte.nl, l’importatore di solito restituisce questo errore a causa del suo limitatore di velocità. In questo caso, è sufficiente contattare Byte.nl e chiedere loro di inserire nella whitelist l’User-Agent dell’importatore " 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 Log del server per identificare il processo che si è bloccato e il motivo. 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.

Magento API: "” #

Questo errore significa anche che il server ha riscontrato un errore interno e non è stato possibile specificare quale errore o codice di 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 un superamento del limite di memoria.

Il passo “Aggiungi al carrello” non viene mostrato #

Se il passaggio Aggiungi al carrello non viene attivato, ciò è dovuto a due motivi:

  • È stata attivata un’altra funzione o popup add-to-basket che blocca la funzione di Clerk.io

  • Nell’estensione sono stati inseriti ID di contenuto errati.

È abilitato un altro popup add-to-basket.

Iniziate controllando l’installazione esistente di Magento, per vedere se avete già un popup o un dropdown che viene mostrato quando si aggiunge un prodotto al carrello.

Questi possono normalmente impedire la visualizzazione della fase di aggiunta al carrello di Clerk.io.

In questo caso, disattivateli e riprovate.

Gli ID dei contenuti sbagliati sono inseriti nell’estensione

Se non ci sono altri popup add-to-basket e il powerstep è attivato ma non viene visualizzato, è probabile che sia perché nelle impostazioni delle estensioni Clerk.io sono stati inseriti ID errati del modello. Questo causerà il fallimento del Powerstep.

Per risolvere il problema, accedere al suo amministratore Magento e andare a Sistema->Configurazione->Clerk->Impostazioni.

Quindi scegliere l’Ambito di configurazione corretto che corrisponde al proprio negozio.

In Impostazioni power step, selezionare il campo Modelli.

Questo campo deve contenere gli ID corretti separati da virgole, se se ne usa più di uno.

Per assicurarsi che gli ID siano corretti, accedere a my.clerk.io.

Scegliere il Magazzino corretto e andare a Ricerche/ricerca -> Contenuti.

Fare clic su Modifica contenuto per il cursore che si desidera mostrare nel powerstep.

Selezionare l’ultima scheda “Inserisci nel sito web” e individuare il codice di incorporamento.

L’ID trovato nel data-template è l’ID da copiare nell’estensione Magento:

Fare clic su Save Config nell’estensione Magento e il Powerstep dovrebbe funzionare.

Se si è attivato il popup powerstep e ancora non viene visualizzato quando si aggiunge un prodotto al carrello, il problema è spesso dovuto a Cache.

1. Iniziare andando in System => Cache e cancellare tutte le cache interne e di terze parti.

2. Se il problema non si risolve, è probabile che si stia utilizzando la Cache a pagina intera, che ha un impatto solo sulle pagine che il visitatore ha già visualizzato nella sua sessione. La sua disattivazione avrà un impatto minimo sulla velocità della pagina.

3. L’immagine seguente mostra esattamente quale disattivare:

Una volta disattivata la Full Page Cache, dovrebbe apparire il popup di Clerk. In caso contrario, contattare il Supporto Clerk dall’icona live-chat nell’angolo in basso a destra, e potremo aiutarvi a trovare una soluzione per la vostra configurazione specifica 😃.

I cursori della prima pagina mostrano sempre gli stessi prodotti #

Normalmente questo accade solo se i codici embed sono inseriti tramite Magentos Pagine CMS nel backend, poiché la pagina frontale viene memorizzata nella cache:

Invece, gli embedcode devono essere inseriti direttamente nei file di Frontpage, tramite FTP:

Magento non metterà in cache i risultati se inseriti in questo modo.

L’impiegato non mostra le immagini #

Quando la cache delle immagini di Magento viene cancellata, manualmente o automaticamente, tutti i percorsi delle immagini cambiano.

Ciò significa che i percorsi delle immagini inviati a Clerk.io non funzionano più.

Il problema può essere facilmente risolto con questa operazione:

  1. Accedere a my.clerk.io

  2. Fare clic sul Magazzino in cui mancano le immagini

  3. Andare a Dati

  4. Fare clic su Avvia nuova sincronizzazione dei dati nell’angolo in alto a destra.

In questo modo si avvia una nuova sincronizzazione completa dei prodotti, che fa sì che Clerk.io ottenga i percorsi immagine corretti.

Nell’estensione Magento v2.1.0 di Clerk.io questo problema è stato risolto, avviando automaticamente una sincronizzazione quando la cache delle immagini viene cancellata.

Se si utilizza una versione precedente dell’estensione, si consiglia vivamente di aggiornare alla versione più recente.

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.

Conversione dei disegni #

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. [Seguire 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 -&gt; Raccomandazioni / Ricerca -> Disegni e fare clic su Nuovo disegno:

1.2. Scegliere il tipo di design.

1.3. Nel Design Editor, fate clic su uno qualsiasi degli elementi esistenti, come il nome, l’immagine, il pulsante, ecc. per modificarlo, oppure selezionate nuovi elementi da aggiungere al design per aggiungere ulteriori informazioni sui prodotti.

1.4. Fare clic su Publish una volta terminato e passare al Fase 2 della guida.

1.5. Infine, andare su Raccomandazioni / Ricerca -> Contenuto e modificare il contenuto di Clerk.io per utilizzare il nuovo design.

1.6. Fare clic su **Aggiornamento dei contenuti ** Questo farà sì che temporaneamente non vengano visualizzati nel webshop fino a quando non si è terminato il **Fase 2 ** Scegliere il nuovo design per tutti i contenuti che devono essere aggiornati.

1.9. Ecco fatto! Ora siete pronti per passare a Clerk.js 2.

Aggiornamento dell’estensione #

Se avete già l’ultima versione dell’estensione Clerk.io di Magento, potete saltare questo passaggio.

È possibile scaricare l’ultima estensione da questo link:

https://github.com/clerkio/clerk-magento/releases/latest

2.1. Salvare le modifiche ai file di estensione

Prima di tentare l’aggiornamento, assicurarsi di disporre di:

  • aver salvato i file modificati localmente sul vostro FTP o

  • aver fatto un backup di tutti i file modificati, da trasferire alla nuova estensione.

Di solito, i file che la maggior parte degli sviluppatori modifica sono Product.php e Productbase.php, che controllano gli attributi del prodotto.

Questi file si trovano qui:

app->codice->comunità->Clerk->Clerk->Modello->Catalogo->Prodotto.php

app->codice->comunità->Clerk->Clerk->Modello->Catalogo->Prodotto.php

Disattivare e disinstallare l’estensione esistente

Prima di tentare l’aggiornamento, è molto importante eseguire questa operazione:

2.2.1. Disattivare la vecchia estensione nella pagina System->Configuration->Clerk->Settings di Magento. È sufficiente impostare Abilitazione su No e fare clic su Salva configurazione.

2.2.2. Successivamente , disinstallarlo tramite Magento Connect o eliminando i file.

da FTP se è stato installato direttamente qui.

In caso contrario, la pagina di Configurazione potrebbe smettere di funzionare e nessuna delle due estensioni funzionerà in seguito.

2.3. Installare l’ultima estensione

Infine, installate nuovamente l’ultima estensione e spostate i file di cui avete fatto il backup sul vostro server FTP.

La configurazione dovrebbe essere salvata, anche quando si installa la nuova versione. Controllare Sistema->Configurazione->Clerk per assicurarsi che tutto sia ancora lì.

Ora avete installato l’ultima versione di Clerk.io per Magento 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 #

Questo vale solo se si utilizza la versione 3.7.2 o inferiore dell’estensione Clerk di Magento 1..

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

Esistono due modi per gestire Require.js. Entrambi gli approcci richiedono di apportare modifiche al tracking-script in questo file:

app->design->frontend->base->default->template->clerk->tracking.phtml

Includere “clerk” in Require.js #

L’approccio migliore è cercare di far riconoscere a Require.js Clerk.io.

È possibile farlo inserendo require([‘clerk’], function() {}); in fondo allo script di tracciamento:

Ignorando Require.js #

Se la soluzione precedente non funziona, è possibile ignorare Require.js.

Lo si può fare 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.