FAQ
Støder du på problemer med din PrestaShop integration? Denne FAQ dækker de mest almindelige problemer og deres løsninger, fra formatters til synkroniseringsfejl.
Brug af formatters #
Clerk.js giver dig mulighed for at skrive egne JavaScript-funktioner, der tilføjer ny funktionalitet til dine Designs.
Formatters kan tilføjes på to måder:
Gennem my.clerk.io > Developers > Formatters, 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 formatters kan tilføjes på én gang.
For PrestaShop indeholder denne fil tracking-scriptet:
modules->clerk->views->templates->hook->clerk_js.tpl
Eksempel på formatter #
Et eksempel kan ses nedenfor. Bemærk, at dette er Clerk V2 (nyeste 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 -->
Flere formatters #
Du kan skrive et vilkårligt antal Formatters, adskilt med 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;
}
}
Brug i designs #
Når du har oprettet dine Formatters, kan du bruge dem i dine Designs med denne syntaks:
{% raw %}{{ price | log_price }} {{ price | calculate_discount | special_price }}{% endraw %}
Dette giver dig mulighed for at skabe enhver funktionalitet, du har brug for, i dine Designs.
HTTP-autentificering #
HTTP-autentificering bruges ofte på test-sider for at undgå uønskede besøgende.
Dette vil blokere Clerk-importeren og vise en 401 Unauthorized fejl i synkroniseringsloggen.
Du kan løse dette ved at indsætte autentificeringsoplysninger i import-URL’en.
I my.clerk.io > Data > Configuration, opdater din import-URL sådan her:
https://USER:PASS@www.ewoksRus.com

Almindelige synkroniseringsfejl #
Bemærk: Vi anbefaler altid at opdatere modulet til den nyeste version for at få alle opdaterede funktioner fra Clerk.
Når du importerer data med Clerk’s PrestaShop modul, er din webshops server ansvarlig for at sende produkt-, kategori- og salgsdata til Clerk.
Men i nogle tilfælde kan serverens konfiguration blokere importen fra at få adgang til dataene, hvilket forårsager en fejl i Data Sync.
Nedenfor er en liste over de mest almindelige fejl og hvordan du retter dem.
401 Unauthorized #
Denne fejl opstår, hvis din webshop eller udviklingsmiljø kræver HTTP-autentificering for at få adgang.
Dette løses 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 Forbidden #
Denne fejl opstår, hvis din server blokerer importeren fra at få adgang.
I de fleste tilfælde skal du blot whiteliste importørens IP-adresse for at give adgang.
Den nyeste IP-adresse kan findes her.
Kontroller også at din public key, private key og import URL er korrekte for den butik, du arbejder med i my.clerk.io.
I nogle tilfælde vises denne fejl også, hvis du bruger forskellige sprogdomæner, såsom http://webshop.com/it.
I dette tilfælde skal du sikre, at du inkluderer det fulde domæne, du vil synkronisere:

Hvad hvis jeg allerede har whitelistet, men fejlen stadig opstår?
Der er nogle tilfælde, hvor du har whitelistet importørens IP-adresse, men fejlen stadig består.
I disse tilfælde anbefaler vi at kigge på følgende områder:
Autentificeringsdelen af request-bodyen kan blive fjernet af shoppens server.
Rate limit for serveren ift. Cloudflare.
Dobbelttjek om importer-URL’en har https inkluderet.
404 Not Found #
Denne fejl opstår, hvis importøren ikke kunne få adgang til linket, der sender data fra webshoppen.
I de fleste tilfælde skyldes det, at modulet enten:
Ikke er installeret overhovedet
En cache gør, at linket ikke er initialiseret
Sørg først for, at du har installeret modulet korrekt.
Dernæst bør du tømme din webshops cache, før du prøver at importere igen.
429 Too Many Requests #
Denne fejl opstår, hvis din server nægter importøren adgang på grund af for mange indkomne forespørgsler.
Du kan løse dette ved at indstille request limit højere for din server eller ved at sætte Page Size til en højere værdi i my.clerk.io > Data > Configuration, så importøren laver færre, men større forespørgsler:

Hvis du bruger host-udbyderen Byte.nl, returnerer importøren normalt denne fejl pga. deres rate limiter. Kontakt i dette tilfælde Byte.nl og bed dem whiteliste importørens User-Agent “clerk”.
500 Internal Server Error #
Denne fejl betyder, at din server stødte på en intern fejl og ikke kunne specificere, hvad der skete.
I disse tilfælde bør du tjekke din Server Log for at finde ud af, hvilken proces der gik ned og hvorfor.
I de fleste tilfælde skyldes det blot et produkt med en ugyldig attribut eller en funktion, der bliver kaldt forkert i webshoppen.
Hvis du har Facebook Pixel App installeret, vides det at kunne forårsage en 500-fejl.
Prøv at deaktivere appen og kør en ny synkronisering. Hvis det så virker, hold appen deaktiveret, og kopier manuelt Facebook Pixel til din hovedtema-fil i stedet.
Du kan også prøve at aktivere Debug Mode i PrestaShop, hvilket vil udskrive den nøjagtige fejlmeddelelse, når du får en 500-fejl.
AKTIVÉR ALTID Debug Mode fra FTP for at undgå eventuelt at blive låst ude af PrestaShops Admin Panel. Se hvordan du gør det via FTP.
503 Service Unavailable #
Denne fejl er normalt midlertidig og skyldes, at serveren er for travl til at håndtere forespørgslen.
Prøv igen lidt senere.
Hvis problemet fortsætter, kan det skyldes, at serveren er overbelastet og nærmer sig maksimal kapacitet.
Tjek serverbelastningen for at identificere, om dette er tilfældet.
520 Unknown Error #
Denne fejl kommer normalt fra Cloudflare og opstår ofte pga. en flaskehals i PrestaShop, der skaber problemer ved højere Page Sizes.
For at løse det skal du sætte din Page Size til 50 og køre en ny synkronisering:

Ugyldigt svar #
Denne fejl skyldes ofte brug af Facebook Pixel Module, som indsætter en pixel i toppen af alle filer i PrestaShop.
Dette vil ofte få Data Sync til at fejle, da pixlen forstyrrer de data, Clerk skal modtage fra PrestaShop.
Det er ret nemt at løse dette problem—du skal blot lave en lille ændring i pspixel.php, som er filen, der genererer pixlen.
Ofte findes den i en af 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 understøtte den nyere datasync:
if (Tools::getValue('module') == 'clerk') {
return;
}
Til sidst skal filen se sådan ud:

Dette vil fjerne pixlen specifikt fra de links, Clerk bruger til at importere data fra PrestaShop.
Deaktivering af CCC #
CCC (Concatenate, Combine og Cache) er en indbygget PrestaShop-funktionalitet, der gør det muligt at reducere antallet af kald til dit template og derefter cache dem.
Nogle gange kan denne funktion forstyrre vores Data Sync proces og blokere den.
Hvis du oplever Data Sync fejl, så åbn din PrestaShop backend og besøg:
Advanced Parameters > PerformanceDerefter skal du finde sektionen kaldet:
CCC (Combine, Compress and Cache)
Deaktiver alle dens underfunktioner, gem, tøm PrestaShop-cachen og nyd det!
P.S: Du kan opnå den samme grad af datakomprimering—og dermed sideindlæsningshastighed—med et CDN eller et dedikeret PrestaShop-modul, der håndhæver samme komprimering og kombination af biblioteker.
Opgradering til Clerk.js 2 #
Clerk.js 2 er en hurtigere og mere fleksibel version af vores JavaScript-bibliotek.
Det gør det lettere at installere Clerk på enhver webshop.
Men da de to versioner fungerer en smule forskelligt, skal du følge disse trin for at opgradere korrekt.
De to væsentligste forskelle i Clerk.js 2 er, at Designs i my.clerk.io bruger Liquid templating-sproget, men de kan også nemt oprettes med Design Editor.
Opret designs #
Da Clerk.js 2 har en anden tilgang til Designs, skal du oprette nye.
Du kan oprette dine Clerk.js 2 Designs på to måder:
Brug den intuitive Design Editor til at lave nye Designs, som beskrevet i de følgende punkter.
Konverter dine gamle Designs. Følg denne guide for at se, hvordan du gør.
Design Editor mulighed #
- Gå til my.clerk.io > Recommendations/Search > Designs > New Design.

På den følgende skærm, giv dit Design et Navn (vi anbefaler at tilføje “V2”, så det er tydeligt, du bruger Clerk.js 2).
Vælg Design Type.
Når du er færdig, klik Create Design.

I Design Editor, klik på et af de eksisterende elementer som navn, billede, knap osv. for at redigere, eller træk-og-slip nye elementer ind for at tilføje mere information om produkterne.
Klik på Save Design, når du er færdig, og gå videre til Step 2 i guiden.

Gå til Recommendations/Search > Elements og vælg, at dit Clerk Element skal bruge dit nye Design.
Klik Update Element. Dette vil midlertidigt gøre, at de ikke vises på din webshop, indtil du er færdig med Step 2. Vælg det nye Design for alle elementer, der skal opdateres.

Du er nu klar til at skifte til Clerk.js 2.
Opgrader modul #
ADVARSEL: Husk at tage backup af alle ændrede filer, da de bliver overskrevet.
Start med at downloade den nyeste version fra dette link:
https://github.com/clerkio/clerk-prestashop/releases/latest

Log derefter ind i din PrestaShop admin og gå til Modules And Services > Modules And Services.

På denne side, gør følgende:
Klik på Add New Module.
Klik Vælg en fil og upload clerk.zip-filen, du lige har downloadet.
Klik Upload this module.

PrestaShop vil nu vise en succesmeddelelse, som bekræfter, at dit modul nu er opgraderet.
Nu har du den nyeste version af Clerk til PrestaShop installeret, og Clerk.js 2 kører på din webshop!
Den fulde dokumentation for Clerk.js 2 findes her:
https://docs.clerk.io/docs/clerkjs-quick-start
Håndtering af require.js #
Denne guide gælder kun ved brug af op til v.4.4.1 af PrestaShop Clerk-udvidelsen.
I nogle opsætninger forhindrer Require.js Clerk.js i at indlæse, hvilket betyder, at ingen sliders eller søgeresultater vil blive vist.
Når dette sker, vil følgende fejl blive vist i din konsol:
Uncaught ReferenceError: Clerk is not defined
Der er to måder at håndtere Require.js på. Begge kræver, at du ændrer tracking-scriptet i denne fil:
modules->clerk->views->hook->visitor_tracking.tpl
Inkluder i Require.js #
Den bedste tilgang er at prøve at få Require.js til at genkende Clerk.
Du kan gøre dette ved at indsætte require(['clerk'], function() {}); i bunden af tracking-scriptet:

Ignorér Require.js #
Hvis 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; øverst i tracking-scriptet:

Efter at have brugt én af disse metoder, vil Require.js nu være kompatibel med Clerk.
Denne side er oversat af en hjælpsom AI, og der kan derfor være sproglige fejl. Tak for forståelsen.