Prestashop

FAQ

Brug af formater i designs #

Clerk.js giver dig mulighed for at skrive brugerdefinerede javascript-funktioner, der tilføjer ny funktionalitet til Designs.

Formater kan tilføjes på to måder:

  • Gennem my.clerk.io > Indstillinger > Formater, hvor hver Formatter kan oprettes som separate poster.
  • Som en konfiguration for Clerk.js, i tracking-scriptet der indsættes på alle sider, hvor flere formater kan tilføjes på én gang.

For Prestashop indeholder denne fil tracking-scriptet:

modules->clerk->views->templates->hook->clerk_js.tpl

Et eksempel kan ses nedenfor. Vær opmærksom på, at dette er Clerk V2 (seneste version):

<!-- Start af Clerk.io E-commerce Personalisation tool - 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>
<!-- Slut på Clerk.io E-commerce Personalisation tool - www.clerk.io -->

Du kan skrive et vilkårligt antal Formater, adskilt af komma:

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;
   }
}

Efter at have oprettet dine Formater, kan du bruge dem i dine Designs ved hjælp af denne syntaks:

{% raw %}{{ price | log_price }} {{ price | calculate_discount |  special_price }}{% endraw %}

Dette giver dig effektivt mulighed for at skabe enhver funktionalitet i dine Designs, som du har brug for.

Synkronisering med HTTP Auth #

Ofte bruges HTTP-godkendelse på staging-sider for at undgå uinviterede besøgende.

Dette vil også blokere Clerk-importøren og vise en 401 Unauthorized fejl i synkroniseringsloggen.

Du kan nemt verificere importøren ved at indsætte godkendelsesoplysningerne i import-URL’en som nedenfor, i Data Sync på my.clerk.io:

https://USER:PASS@www.ewoksRus.com

Almindelige synkroniseringsfejl #

Bemærk: Vi anbefaler, at du altid opdaterer plugin’et til den nyeste version for at få alle opdaterede funktioner fra Clerk.

Når du importerer data med Clerk.io’s PrestaShop-plugin, er webshop-serveren ansvarlig for at sende produkt-, kategori- og salgsdata til Clerk.io.

Men i nogle tilfælde kan serverens konfiguration forhindre importen i at få adgang, hvilket forårsager en fejl i Data Sync.

Nedenfor er en liste over de mest almindelige fejl og hvordan man løser dem.

401 Serverfejl: Uautoriseret #

Denne fejl opstår, hvis din webshop/dev-miljø kræver HTTP-godkendelse for at få adgang til det.

Dette løses simpelthen ved at indsætte Brugernavn og Adgangskode som en del af Import-URL’en:

http://username:password@prestashop.clerk.io/clerk/api/store/1

403 Serverfejl: Forbudt #

Denne fejl opstår, hvis din server blokerer importøren fra at få adgang til den. I de fleste tilfælde skal du blot whiteliste importørens IP-adresse for at give den adgang.

Den nyeste IP-adresse kan findes her.

Tjek også, at din offentlige nøgle, private nøgle og import-URL er korrekte for den butik, du opererer inden for my.clerk.io

I nogle tilfælde vil denne fejl også blive vist, hvis du bruger forskellige sprogdomæner, som http://webshop.com/it. I dette tilfælde skal du sørge for at inkludere det fulde domæne, du ønsker at synkronisere:

Hvad hvis jeg allerede har whitelistet, men den samme fejl stadig opstår?

Der er nogle tilfælde, hvor du har whitelistet importørens IP-adresse, og fejlen stadig vedvarer, så anbefaler vi, at du ser på disse områder:

  • Den godkendelsesdel af kroppen kan være fjernet fra anmodningen fra butikkens server.

  • Ratebegrænsning for serveren i forhold til cloudflares.

  • Tjek om importørens URL har https inkluderet.

404 Serverfejl: Ikke fundet #

Denne fejl opstår, hvis importøren ikke kunne få adgang til linket, der sender os data fra webshoppen. I de fleste tilfælde sker det, fordi udvidelsen enten er:

  • Ikke installeret overhovedet

  • En cache forårsager, at linket ikke bliver initialiseret

Først skal du sikre dig, at du har installeret modulet korrekt.

For det andet skal du sørge for at tømme din webshops cache, før du prøver en ny import.

429 Serverfejl: For mange anmodninger #

Denne fejl opstår, hvis din server nægter importøren adgang på grund af for mange indkommende anmodninger.

Du kan løse dette ved at sætte anmodningsgrænsen højere for din server eller ved at sætte Side Størrelse til en højere værdi i Clerk.io importøren, hvilket får importøren til at lave færre, større anmodninger:

Hvis du bruger hostingudbyderen Byte.nl, returnerer importøren normalt denne fejl på grund af deres rate limiter. I dette tilfælde skal du blot kontakte Byte.nl og bede dem om at whiteliste importørens User-Agent " clerk".

500 Intern serverfejl #

Denne fejl betyder, at din server har stødt på en intern fejl og ikke kunne specificere, hvilken fejl der opstod.

I disse tilfælde kan du tjekke din Server Log for at identificere, hvilken proces der crashede og hvorfor. I de fleste tilfælde skyldes det simpelthen et produkt med en ugyldig attribut eller en funktion, der kaldes forkert i webshoppen.

Hvis du har Facebook Pixel App installeret, er det kendt for at forårsage en 500-fejl. Prøv at deaktivere appen og køre en ny synkronisering. Hvis det så virker, skal du holde appen deaktiveret og manuelt kopiere Facebook Pixel til din hovedtema-fil i stedet.

Du kan også prøve at aktivere Debug Mode i Prestashop, som vil udskrive den nøjagtige fejlmeddelelse, når du får en 500-fejl.

AKTIVER altid Debug Mode fra FTP for at undgå at blive låst ude af Prestashops Admin Panel. Tjek hvordan du gør det med FTP.

503 Serverfejl: Tjenesten er utilgængelig #

Denne fejl er normalt midlertidig og skyldes, at serveren er for travl til at håndtere anmodningen. Prøv igen lidt senere.

Hvis problemet fortsætter, kan det betyde, at serveren er overbelastet med processer og er tæt på maksimal kapacitet.

Tjek serverbelastningen for at identificere, om dette er tilfældet.

520: Webserveren returnerede en ukendt fejl #

Normalt returneres denne fejl fra CloudFlare og opstår ofte på grund af flaskehalse i Prestashop, der forårsager problemer med højere Side Størrelser.

For at løse det skal du simpelthen sætte din Side Størrelse til 50 og køre en ny synkronisering:

Ugyldigt svar modtaget fra Prestashop #

Denne fejl skyldes ofte, når du bruger Facebook Pixel-modulet, som indsætter en pixel i toppen af alle filer i Prestashop.

Dette vil ofte få Data Sync til at fejle, fordi pixel’en interfererer med de data, som Clerk.io skal modtage fra Prestashop.

At løse dette problem er ret nemt - du skal blot lave en lille justering i pspixel.php, som er filen, der genererer pixel’en.

Ofte findes dette i en af de følgende 4 stier:

  • /modules/pspixel/pspixel.php
  • /modules/alcapixel/alcapixel.php
  • /modules/facebookpixel/facebookpixel.php
  • /modules/canonicalseo/canonicalseo.php

I filen, omkring linje 196, skal du indsætte følgende linje kode inde i public function hookHeader($params):

      if (strpos($_SERVER['REQUEST_URI'], '/module/clerk/') !== false) {

            return;

        }

For at støtte den nyere data-sync:

      if (Tools::getValue('module') == 'clerk') {

          return;

       }

I slutningen skal filen se sådan ud:

Dette vil fjerne pixel’en specifikt fra de links, Clerk.io bruger til at importere data fra Prestashop.

Deaktivering af CCC #

CCC ( C oncatener, C ombine og C ache) er en indbygget PrestaShop-funktionalitet, der giver dig mulighed for at reducere antallet af anmodninger fra din skabelon og derefter cache dem.

Nogle gange kan denne funktionalitet interferere med vores Data Sync proces og blokere den.

Hvis du oplever Data Sync-fejl, skal du åbne din PrestaShop-backend og besøge sektionen kaldet

Advanced Parameters –> Performance

derefter komme til sektionen kaldet

CCC (Kombiner, Komprimer og Cache)

deaktivere alle dens underfunktioner, så gemme, tømme PrestaShop-cachen og nyde!

P.S: du kan opnå samme niveau af datakompression - og dermed indlæsningstidens ydeevne - ved hjælp af et CDN eller et dedikeret PrestaShop-modul, der håndhæver den samme kompression og kombination af biblioteker.

Opgradering til Clerk.js 2 #

Clerk.js 2 er en hurtigere og meget mere fleksibel version af vores JavaScript-bibliotek, der gør installation af Clerk.io på enhver webshop til en leg.

Men da de to versioner fungerer lidt forskelligt, skal du følge disse trin for at opgradere med succes.

De to hovedforskelle i Clerk.js 2 er, at Designs i my.clerk.io bruger Liquid skabelonsprog, men de kan også nemt oprettes ved hjælp af Design Editor.

Trin 1: Konvertering af Designs #

Da Clerk.js 2 har en anden tilgang til Designs, skal du oprette nye.

Du kan oprette dine Clerk.js 2 Designs på en af to måder:

1.1 Start med at gå til my.clerk.io og derefter Recommendations > Search > Designs > New Design

1.2 På den følgende skærm skal du give dit Design et Navn (vi anbefaler at tilføje " V2", så det er tydeligt, at du bruger Clerk.js2).

1.3. Vælg Designtype.

1.4. Når du er færdig, skal du klikke på Opret Design.

1.5. I Design Editor skal du klikke på et hvilket som helst af de eksisterende elementer som navn, billede, knap osv. for at redigere det, eller trække og slippe nye elementer til Designet for at tilføje flere oplysninger om produkter.

1.6. Klik på Gem Design, når du er færdig, og gå til Trin 2 i guiden.

1.7. Til sidst skal du gå til Anbefalinger / Søg -> Indhold og ændre dit Clerk.io Indhold til at bruge dit nye Design.

1.8. Klik på Opdater Indhold. Dette vil midlertidigt få dem til ikke at vise sig på din webshop, indtil du er færdig med

Trin 2. Vælg det nye Design for alt Indhold, der skal opdateres.

1.9. Der! Du er nu klar til at skifte over til Clerk.js 2.

Trin 2: Opgradering af dit modul #

ADVARSEL: Husk at tage sikkerhedskopier af eventuelle ændrede filer, da de vil blive overskrevet.

Start med at downloade den nyeste version fra dette link:

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

Log derefter ind på din Prestashop admin og gå til Moduler og Tjenester -> Moduler og Tjenester

På denne side skal du gøre følgende:

2.1. Klik på Tilføj Nyt Modul

2.2. Klik på Vælg en fil og upload den clerk.zip fil, du lige har downloadet

2.3. Klik på Upload dette modul

PrestaShop vil nu vise en succesmeddelelse, der bekræfter, at dit modul nu er blevet opgraderet.

Nu har du den nyeste version af Clerk.io til PrestaShop installeret, og Clerk.js 2 kører på din webshop!

Den fulde dokumentation for Clerk.js 2 kan findes her:

https://docs.clerk.io/docs/clerkjs-quick-start

Håndtering af require.js #

Denne guide gælder kun, når du bruger op til v.4.4.1 af Prestashop Clerk-udvidelsen.

I nogle opsætninger stopper Require.js Clerk.js fra at indlæse, hvilket betyder, at ingen sliders eller søgeresultater vises.

Når dette sker, vises følgende fejl i din konsol:

Uncaught ReferenceError: Clerk is not defined

Der er to måder at håndtere Require.js på. Begge tilgange kræver, at du foretager ændringer i tracking-scriptet i denne fil:

modules->clerk->views->hook->visitor_tracking.tpl

Inkluder “clerk” i Require.js #

Den bedste tilgang er at forsøge at få Require.js til at genkende Clerk.io.

Du kan gøre dette ved at indsætte require([‘clerk’], function() {}); i bunden af tracking-scriptet:

Ignorer Require.js #

Hvis den ovenstående løsning ikke virker, er det muligt at ignorere Require.js.

Du kan gøre dette ved at indsætte window.__clerk_ignore_requirejs = true;

i toppen af tracking-scriptet:

Efter at have brugt en af disse tilgange, vil Require.js nu være kompatibel med Clerk.io.

Denne side er oversat af en hjælpsom AI, og der kan derfor være sproglige fejl. Tak for forståelsen.