Magento 2

FAQ

Løsninger på almindelige spørgsmål og problemer ved brug af Clerk med Magento 2

Oplever du problemer med din Magento 2-integration? Denne FAQ dækker de mest almindelige problemer og deres løsninger – fra billedstørrelser til synkroniseringsfejl.

Billedstørrelser #

Som standard bruger udvidelsen de originale billedstørrelser, der er sat i Magento 2.

Disse kan ændres efter behov.

Start med at logge ind i din Magento 2 backend og gå til:

Stores > Configuration > Clerk > Configuration

Under Synchronization > Image type kan du vælge præcis hvilken opløsning, billeder skal sendes i:

Magento 2 image type configuration

Herefter skal du klikke på Save Config.

Nu skal du blot køre en ny Sync i my.clerk.io, og dine nye billedstørrelser bliver importeret.

Brug af formateringsfunktioner #

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

Formateringsfunktioner 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 Magento 2 indeholder denne fil tracking-scriptet:

vendor->view->frontend->templates->tracking.phtml

Eksempel på formatter #

Et eksempel kan ses nedenfor. Bemærk at dette er for Clerk V2 (seneste version):

    Clerk('config', {
      key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
      formatters: {
             log_price: function(price) {
             console.log(price);
    }
          }
      });

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 #

Efter du har oprettet dine Formatters, 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 mulighed for at skabe enhver funktionalitet i dine Designs, som du har brug for.

HTTP-godkendelse #

HTTP-godkendelse 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 godkendelsesoplysningerne i import-URL’en.

I my.clerk.io > Data > Configuration, opdater din import-URL sådan:

http://USER:PASS@magento2.clerk.io/
HTTP authentication in import URL

Almindelige synkroniseringsfejl #

Bemærk: Vi anbefaler altid at opdatere udvidelsen til den nyeste version for at få alle opdaterede funktioner fra Clerk.

Når der importeres data med Clerk’s Magento 2-udvidelse, er din webshops server ansvarlig for at sende produkt-, kategori- og salgsdata til Clerk.

Dog kan serverkonfigurationen i nogle tilfælde blokere importen fra at få adgang til dataene, hvilket medfører en fejl under Data Sync.

Herunder ses en liste over de mest almindelige fejl og hvordan de løses.

401 Unauthorized #

Denne fejl opstår, hvis din webshop eller dit udviklingsmiljø kræver HTTP-godkendelse for at få adgang.

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

http://username:password@magento2.clerk.io

403 Forbidden #

Denne fejl opstår ofte af en af følgende grunde:

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

  • Du har måske forkerte public key, private key og/eller import URL i shoppen i my.clerk.io.

  • Du bruger Storeviews med skjulte URLs, såsom mywebshop.com?__store=b2b. Nogle gange kan disse URLs også indeholde 3 underscores sådan: mywebshop.com?___store=b2b.

Ved det sidste, skal du blot inkludere __store-parameteren i URL’en i Data:

Store parameter in URL

Hvad hvis jeg allerede har whitelistet, men fejlen stadig opstår?

Der er enkelte tilfælde, hvor du har whitelistet importørens IP-adresse, men fejlen fortsætter.

I disse tilfælde anbefaler vi at undersøge følgende:

  • Godkendelsesdelen af bodyen kan være fjernet fra forespørgslen fra shop-serveren.

  • Rate limit på serveren i forhold til Cloudflare.

404 Not Found #

Denne fejl opstår, hvis importøren ikke kan tilgå det link, der sender data fra webshoppen.

I de fleste tilfælde skyldes det at udvidelsen enten:

  • Ikke er installeret overhovedet

  • En cache forårsager at linket ikke bliver initialiseret

Sørg først for at du har installeret udvidelsen korrekt.

Dernæst skal du tømme din webshops cache før du prøver en ny 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 forespørgselsgrænsen højere på 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 og større forespørgsler:

Page size configuration

Hvis du bruger udbyderen hypernode.com/nl, returnerer importøren normalt denne fejl pga. deres rate limiter. I dette tilfælde, kontakt hypernode.com/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 angive hvilken fejl, der opstod.

I disse tilfælde, tjek din Server Log for at identificere hvilken proces der gik ned og hvorfor.

I de fleste tilfælde er det blot pga. et produkt med en ugyldig attribut eller en funktion, der kaldes forkert i webshoppen.

503 Service Unavailable #

Denne fejl er som regel midlertidig og skyldes at serveren er for optaget til at håndtere forespørgslen.

Prøv igen lidt senere.

Hvis problemet fortsætter, kan det betyde at serveren er overbelastet og nærmer sig maksimal kapacitet.

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

Ugyldigt svar #

Denne fejl opstår ofte, hvis din webshop bruger et redirect-system til at sende kunder til forskellige domæner.

For eksempel kan “ https://mywebshop.com” viderestille til “ https://mywebshop.com/it".

Hvis det er tilfældet, skal du blot bruge den fulde URL ved import i my.clerk.io:

Full URL configuration

MSI lagerimport #

Hvis din Magento 2-butik bruger MSI (Multi-Source Inventory), kan du importere det samlede lager på tværs af alle kilder til Clerk ved at tilføje nedenstående attributkode til udvidelsens Additional Fields.

  1. I din Magento admin, gå til Stores > Configuration > Clerk > Configuration.

  2. Under Synchronization > Additional Fields, tilføj: multi_source_stock.

  3. Klik på Save Config og kør derefter en ny synkronisering i my.clerk.io > Data.

Clerk vil importere multi_source_stock som summen af kvantiteter på tværs af alle MSI-kilder.

Dette er nyttigt, når standardlagerkilden er 0, men produkter stadig er på lager i andre kilder.

Opgradering til Clerk.js 2 #

Clerk.js 2 er en hurtigere og mere fleksibel version af vores JavaScript-bibliotek.

Det gør installationen af Clerk på enhver webshop lettere.

Da de to versioner fungerer lidt forskelligt, skal du dog følge disse trin for at opgradere succesfuldt.

De to hovedforskelle 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:

Design Editor-mulighed #

  1. Gå til my.clerk.io > Recommendations/Search > Designs > New Design.
New design in Clerk
  1. På følgende skærm, giv dit Design et Navn (vi anbefaler at tilføje “V2” så det er tydeligt at du bruger Clerk.js 2).

  2. Vælg Design Type.

Design type selection
  1. I Design Editor kan du klikke på et eksisterende element som navn, billede, knap mm. for at redigere det, eller tilføje nye elementer til Designet for at vise mere information om produkter.
Design Editor interface
  1. Klik på Publish, når du er færdig, og gå til Trin 2 i vejledningen.

  2. Gå til Recommendations/Search > Elements og ændr dit Clerk Element til at bruge dit nye Design.

  3. Klik på Update Element. Dette fører midlertidigt til at de ikke vises på din webshop, indtil du er færdig med Trin 2. Vælg det nye Design for alle Elementer, der skal opdateres.

Update content with new design

Du er nu klar til at skifte til Clerk.js 2.

Opgrader udvidelse #

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

Opgradering af Magento 2-udvidelsen foregår via kommandolinjen.

Det gøres ved at følge disse trin:

  1. Log ind på din server via kommandolinje.

  2. Naviger til din webroot-mappe (typisk _/var/www/your_domain/public_html_).

  3. Aktiver Root Access ved at skrive su og derefter indtaste din adgangskode.

  4. Indtast følgende kommandoer i rækkefølge:

composer update clerk/magento2
php bin/magento setup:upgrade
php bin/magento setup:di:compile
  1. Vent på at udvidelsen bliver færdig.

Din Magento 2 er nu opgraderet til den nyeste version.

Nu har du seneste version af Clerk til Magento 2 installeret, og Clerk.js 2 kører på din webshop!

Fuld 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 ved brug af op til v.2.8.3 af Magento 2 Clerk-udvidelsen.

I nogle opsætninger stopper Require.js Clerk.js fra at loade, hvilket betyder at der ikke vises sliders eller søgeresultater.

Når dette sker, vil følgende fejl blive vist i din konsol:

Uncaught ReferenceError: Clerk is not defined

Magento 2-udvidelsen håndterer allerede Require.js, men i nogle tilfælde er det nødvendigt at få den til at ignorere Clerk.js.

Det kan du gøre i følgende fil:

vendor->clerk->magento2->templates->tracking.phtml

Indsæt ganske enkelt window.__clerk_ignore_requirejs = true; øverst i tracking-scriptet:

Ignore Require.js in tracking script

Efter denne metode 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.