FAQ
Støder du på problemer med din PrestaShop-integration? Denne FAQ dækker de mest almindelige problemer og deres løsninger, fra formattere til synkroniseringsfejl.
Brug af formattere #
Clerk.js giver dig mulighed for at skrive brugerdefinerede 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 formattere 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 (seneste version):
<!-- Start of 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>
<!-- End of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
Flere formattere #
Du kan skrive et vilkårligt antal Formatters, 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;
}
}
Brug i designs #
Efter du har oprettet dine Formatters, kan du bruge dem i dine Designs ved at anvende denne syntaks:
{% raw %}{{ price | log_price }} {{ price | calculate_discount | special_price }}{% endraw %}
Dette giver dig mulighed for at skabe den funktionalitet i dine Designs, som du har brug for.
HTTP-autentificering #
HTTP-autentificering bruges ofte på staging sites for at undgå uønskede besøgende.
Dette vil blokere Clerk-importøren og vise en 401 Unauthorized-fejl i synkroniseringsloggen.
Du kan løse dette ved at indsætte autentificeringsoplysningerne i import-URL’en.
I my.clerk.io > Data > Configuration, opdater din import-URL således:
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 Clerks PrestaShop-modul, er din webshops server ansvarlig for at sende produkt-, kategori- og salgsdata til Clerk.
Dog kan serverens konfiguration i nogle tilfælde 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 de løses.
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 importøren 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.
Tjek også om din public key, private key og import URL er korrekte for den butik, du arbejder indenfor på my.clerk.io.
I nogle tilfælde vises denne fejl også, hvis du bruger forskellige sprog-domæner, som http://webshop.com/it.
I så fald skal du sikre dig, 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, og fejlen stadig opstår.
I disse tilfælde anbefaler vi, at du kigger på følgende områder:
Autentificeringsdelen af body kan blive fjernet fra anmodningen af butikkens server.
Rate limit for serveren i forhold til Cloudflare.
Dobbelttjek om importør-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 sker det, fordi modulet enten:
Slet ikke er installeret
En cache forårsager, at linket ikke initialiseres
Sørg først for, at du har installeret modulet korrekt.
Sørg derefter for at tømme din webshops cache, før du prøver et nyt import.
429 Too Many Requests #
Denne fejl opstår, hvis din server nægter importøren adgang pga. for mange indgående forespørgsler.
Du kan løse dette ved at sætte 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, større forespørgsler:

Hvis du bruger hostingudbyderen Byte.nl, returnerer importøren typisk denne fejl pga. deres rate limiter. Kontakt i så fald Byte.nl og bed dem whiteliste importørens User-Agent “clerk”.
500 Internal Server Error #
Denne fejl betyder, at din server oplevede en intern fejl og ikke kunne specificere, hvilken fejl der skete.
I disse tilfælde skal du tjekke din Server Log for at finde ud af, hvilken proces der stoppede og hvorfor.
I de fleste tilfælde skyldes det blot et produkt med en ugyldig attribut eller en funktion, der kaldes forkert i webshoppen.
Hvis du har Facebook Pixel App installeret, er det kendt at give en 500-fejl.
Prøv at deaktivere appen, og kør en ny synkronisering. Hvis det virker, så hold appen deaktiveret, og kopier i stedet Facebook Pixel manuelt ind i dit hovedtema-fil.
Du kan også prøve at aktivere Debug Mode i PrestaShop, hvilket udskriver den præcise fejlmeddelelse, når du får en 500-fejl.
AKTIVÉR ALTID Debug Mode via FTP, for at undgå potentielt at blive låst ude af PrestaShops Admin Panel. Se hvordan du gør med FTP.
503 Service Unavailable #
Denne fejl er som regel midlertidig og skyldes, at serveren er for optaget til at håndtere anmodningen.
Prøv igen lidt senere.
Hvis problemet fortsat opstår, kan det betyde, at serveren er overbelastet med processer og er tæt på maksimal kapacitet.
Tjek serverbelastningen for at se, om det er tilfældet.
520 Unknown Error #
Typisk returneres denne fejl fra Cloudflare, og sker ofte på grund af en flaskehals i PrestaShop, som giver problemer med højere Page Sizes.
For at løse det, skal du sætte din Page Size til 50, og køre en ny synkronisering:

Invalid response #
Denne fejl skyldes ofte brugen af Facebook Pixel Module, som indsætter en pixel øverst i alle filer i PrestaShop.
Dette får ofte Data Sync til at fejle, fordi pixel forstyrrer de data, Clerk skal modtage fra PrestaShop.
At løse dette problem er ganske enkelt—du skal blot foretage en lille rettelse i pspixel.php, som er filen der genererer pixel.
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 linie 196, skal du indsætte følgende linje kode inden i public function hookHeader($params):
if (strpos($_SERVER['REQUEST_URI'], '/module/clerk/') !== false) {
return;
}
For at understøtte den nyere data-sync:
if (Tools::getValue('module') == 'clerk') {
return;
}
Til sidst skal filen se sådan ud:

Dette vil fjerne pixel specifikt fra de links, Clerk bruger til at importere data fra PrestaShop.
Deaktivering af CCC #
CCC (Concatenate, Combine og Cache) er en indbygget funktion i PrestaShop, der gør det muligt at reducere antallet af forespørgsler fra din skabelon og cache dem.
Nogle gange kan denne funktion skabe problemer for vores Data Sync-proces og blokere den.
Hvis du oplever Data Sync-fejl, skal du åbne din PrestaShop-backend og gå til:
Advanced Parameters > PerformanceGå derefter til sektionen kaldet:
CCC (Combine, Compress and Cache)
Deaktiver alle dens underfunktioner, gem derefter, tøm PrestaShop-cachen og nyd!
P.S: Du kan opnå samme niveau af datakomprimering—og altså indlæsningshastighed—ved at bruge et CDN eller et dedikeret PrestaShop-modul, der udfører 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.
Dog arbejder de to versioner en smule forskelligt, så du skal følge disse trin for at opgradere korrekt.
De to største forskelle i Clerk.js 2 er, at Designs i my.clerk.io bruger Liquid templating-sproget, men de kan også nemt oprettes via 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 oprette nye Designs, som beskrevet nedenfor.
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å næste side skal du give dit Design et Navn (vi anbefaler at tilføje “V2”, så det er tydeligt, at 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, såsom navn, billede, knap osv., for at redigere det, eller træk og slip nye elementer ind i Designet for at tilføje mere information om produkterne.
Klik Save Design, når du er færdig, og gå til Trin 2 i vejledningen.

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

Du er nu klar til at skifte til Clerk.js 2.
Opgradering af modul #
ADVARSEL: Husk at tage backups af alle modificerede 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 Modules And Services > Modules And Services.

På denne side skal du gøre følgende:
Klik Add New Module.
Klik Choose a file og upload filen clerk.zip, du lige har downloadet.
Klik Upload this module.

PrestaShop vil nu vise en succesmeddelelse, der bekræfter, at modulet er opgraderet.
Nu har du den nyeste version af Clerk til PrestaShop installeret, og Clerk.js 2 kører på din webshop!
Hele dokumentationen til 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 forhindrer Require.js Clerk.js i 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 kræver, at du foretager ændringer i tracking-scriptet i denne fil:
modules->clerk->views->hook->visitor_tracking.tpl
Inkluder i Require.js #
Den bedste metode 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:

Ignorer Require.js #
Hvis ovenstående løsning ikke virker, kan du 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 en 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.