Prestashop

FAQ

Brug af formattering i design #

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

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

  • Gennem my.clerk.io > Indstillinger > Formatering,, hvor hver formatter kan oprettes som separate poster.
  • Som en konfiguration til Clerk.js, i tracking-script, 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

Et eksempel kan ses nedenfor. Vær opmærksom på, 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 -->

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

Når du har oprettet dine Formatters, kan du bruge dem i din Design med denne syntaks:

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

Det giver dig mulighed for at skabe alle de funktioner i dine designs, som du har brug for.

Synkronisering med HTTP Auth #

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

Dette vil også blokere Clerk importøren og vise en 401 Uautoriseret 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 de nyeste funktioner fra Clerk.

Når du importerer data med Clerk.io’s PrestaShop-plugin, er webshoppens server 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 Synkronisering af data.

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 den.

Dette løses ganske enkelt 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 for importørens adgang til den. I de fleste tilfælde skal du blot hvidliste importørens IP-adresse for at give den adgang.

Den seneste IP-adresse kan findes her.

Tjek også, at dine offentlig nøgle, privat nøgle og importere url er korrekte for den butik, du driver i min.clerk.io

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

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

Der er nogle få tilfælde, hvor du har hvidlistet importørens IP-adresse, og fejlen stadig fortsætter, så anbefaler vi, at du undersøger disse områder:

  • Godkendelsesdelen af brødteksten kan være fjernet fra anmodningen fra butikkens server.

  • Hastighedsgrænse for serveren med hensyn til cloudflares.

  • Dobbelttjek, om importørens url har https inkluderet.

404 Serverfejl: Ikke fundet #

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

  • slet ikke er installeret

  • En cache gør, at linket ikke bliver initialiseret

Sørg først for, 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 forespørgsler #

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

Du kan løse dette ved at sætte Anmodningsgrænse højere for din server eller ved at sætte Sidestørrelse til en højere værdi i Clerk.io importøren, hvilket får importøren til at lave færre og større forespørgsler:

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

500 Intern serverfejl #

Denne fejl betyder, at din server stødte på en intern fejl og ikke var i stand til at specificere, hvilken fejl der skete.

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

Hvis du har installeret Facebook Pixel-app, er det kendt, at det kan forårsage en 500-fejl. Prøv at deaktivere appen, og kør en ny synkronisering. Hvis det derefter virker, skal du lade appen være deaktiveret og manuelt kopiere Facebook-pixlen til din hovedtemafil i stedet.

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

ALTID Aktivér Debug Mode fra FTP for at undgå potentielt at blive låst ude af Prestashops Admin Panel. Tjek, hvordan du gør det med FTP.

503 Serverfejl: Tjeneste utilgængelig #

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

Hvis problemet bliver ved med at opstå, kan det betyde, at serveren er overbelastet med processer og er tæt på sin maksimale kapacitet.

Tjek serverbelastningen for at finde ud af, om det er tilfældet.

520: Webserveren returnerede en ukendt fejl #

Denne fejl returneres normalt fra CloudFlare og opstår ofte på grund af en flaskehals i Prestashop, der forårsager problemer med højere sidestørrelser.

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

Ugyldigt svar modtaget fra Prestashop #

Denne fejl opstår ofte, når man bruger Facebook Pixel Module, som indsætter en pixel i toppen af alle filer i Prestashop.

Dette vil ofte få datasynkroniseringen til at mislykkes, fordi pixlen forstyrrer de data, som Clerk.io skal modtage fra Prestashop.

Det er ret nemt at løse dette problem - du skal blot foretage en lille justering af pspixel.php, som er den fil, der genererer pixlen.

Den findes ofte i one af følgende 4 stier:

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

I filen omkring linje 196, skal du indsætte følgende kodelinje inde i offentlig funktion 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 pixlen specifikt fra de links, Clerk.io bruger til at importere data fra Prestashop.

Deaktivering af CCC #

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

Nogle gange kan denne funktionalitet forstyrrer vores datasynkronisering behandle og blokere den.

Hvis du oplever datasynkroniseringsfejl, skal du åbne din PrestaShop-backend og besøge det afsnit, der hedder

Avancerede parametre –> Ydeevne

Gå derefter til det afsnit, der hedder

CCC (kombinere, komprimere og cachelagre).

deaktiver alle dens underfunktioner, gem derefter, tøm PrestaShop-cachen og nyd det!

P.S: Du kan opnå det samme niveau af datakomprimering - og dermed indlæsning af sider - ved hjælp af et CDN eller et dedikeret PrestaShop-modul, der håndhæver den samme komprimering og kombination af biblioteker.

Opgradering til Clerk.js 2 #

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

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

De to største forskelle i Clerk.js 2 er, at designene i my.clerk.io bruger Flydende templating-sprog , men de kan også nemt oprettes ved hjælp af Design Editor.

Trin 1: Konvertering af design #

Da Clerk.js 2 har en anden tilgang til designs, er du nødt til at 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å det følgende skærmbillede skal du give dit design navnet Navn (vi anbefaler, at du tilføjer " 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. På Design-editor kan du klikke på et 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å Save Design, når du er færdig, og gå til Trin 2 i guiden.

1.7. Til sidst går du til Anbefalinger / Søg -> Indhold og ændrer dit Clerk.io -indhold, så det bruger dit nye design.

1.8. Klik på Opdater indhold. Dette vil midlertidigt få dem til ikke at dukke op på din webshop, indtil du er færdig med

Trin 2. Vælg det nye design for alt indhold, der skal opdateres.

1.9. Sådan! Du er nu klar til at skifte til Clerk.js 2.

Trin 2: Opgradering af dit modul #

ADVARSEL: Husk at tage sikkerhedskopier af alle æ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-administrator 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 vejledning 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 blive indlæst, hvilket betyder, at der ikke vises nogen slidere eller søgeresultater.

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 ændrer tracking-script 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.

Det kan du gøre ved at indsætte require([‘clerk’], function() {}); i bunden af sporingsscriptet:

Ignorerer Require.js #

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

Det kan du gøre ved at indsætte window.__clerk_ignore_requirejs = true;

i toppen af sporingsscriptet:

Når du har 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.