Magento 2

FAQ

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

Støder du på 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 angivet i Magento 2.

Disse kan ændres efter behov.

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

Stores > Configuration > Clerk > Configuration

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

Magento 2 image type configuration

Klik derefter på Save Config.

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

Brug af formateringsfunktioner #

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

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

  • Via my.clerk.io > Developers > Formatters, hvor hver Formatter kan oprettes som separate poster.

  • Som en configuration til Clerk.js, i tracking-scriptet, som 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 venligst, at dette er til Clerk V2 (seneste version):

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

Flere formateringsfunktioner #

Du kan skrive et hvilket som helst 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 #

Når du har oprettet dine Formatters, kan du benytte dem i dine Designs med denne syntaks:

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

Dette gør det muligt at skabe enhver funktionalitet, du måtte have brug for i dine Designs.

HTTP-autentificering #

HTTP-autentificering bruges ofte på staging-sider 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 skal du opdatere din import-URL således:

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 du importerer data med Clerk’s Magento 2-udvidelse, er din webshops server ansvarlig for at sende product, category, and sales data til Clerk.

I nogle tilfælde kan serverens konfiguration dog blokere importen fra at få adgang til dataene, hvilket medfører en fejl i Data Sync.

Herunder er en liste over de mest almindelige fejl og hvordan du løser 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@magento2.clerk.io

403 Forbidden #

Denne fejl opstår ofte på grund af en af disse årsager:

  • 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 muligvis forkerte public key, private key og/eller import URL i butikken på my.clerk.io.

  • Du bruger Storeviews med skjulte URL’er, såsom mywebshop.com?__store=b2b. Nogle gange kan disse også indeholde 3 underscores, fx mywebshop.com?___store=b2b.

Hvis det er tilfældet, 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 få tilfælde, hvor du har whitelistet importørens IP-adresse, og fejlen stadig opstår.

I sådanne tilfælde anbefaler vi at undersøge følgende:

  • Autentificeringsdelen af kroppen kan blive fjernet fra anmodningen fra butikkens server.

  • Ratelimit for serveren i forhold til Cloudflare.

404 Not Found #

Denne fejl opstår, hvis importøren ikke kunne få adgang til det link, der sender data fra webshoppen.

I de fleste tilfælde sker det, fordi udvidelsen enten:

  • Slet ikke er installeret

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

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

Tøm også din webshops cache, før du forsøger en ny import.

429 Too Many Requests #

Denne fejl opstår, hvis din server nægter importøren adgang på grund af 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, men større, forespørgsler:

Page size configuration

Hvis du bruger hostudbyderen hypernode.com/nl, returnerer importøren ofte denne fejl pga. deres ratelimiter. Kontakt i dette tilfælde 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 var i stand til at specificere, hvilken fejl der opstod.

I disse situationer bør du tjekke din Server Log for at identificere, hvilken proces der fejlede og hvorfor.

I de fleste tilfælde skyldes det blot et produkt med et ugyldigt 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 anmodningen.

Prøv igen lidt senere.

Hvis problemet fortsætter, kan det betyde, at serveren er overbelastet med processer og nærmer sig sin maksimale kapacitet.

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

Invalid response #

Denne fejl opstår typisk, hvis din webshop bruger et viderestillingssystem 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 hele fulde URL, når du importerer 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. Gå til Stores > Configuration > Clerk > Configuration i din Magento-admin.

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

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

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

Dette er nyttigt, når den primære lagerkilde 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 det nemmere at installere Clerk på enhver webshop.

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

De to vigtigste forskelle i Clerk.js 2 er, at Designs i my.clerk.io bruger Liquid template-sprog, 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-metoden #

  1. Gå til my.clerk.io > Recommendations/Search > Designs > New Design.
New design in Clerk
  1. 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.js 2).

  2. Vælg Design Type.

Design type selection
  1. I Design Editor kan du klikke på et af de eksisterende elementer som navn, billede, knap osv. for at redigere det, eller tilføje nye elementer for at inkludere mere information om produkterne.
Design Editor interface
  1. Klik på Publish, når du er færdig, og gå til Step 2 i guiden.

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

  3. Klik på Update Content. Dette vil midlertidigt gøre, at de ikke vises i din webshop, indtil du er færdig med Step 2. Vælg det nye Design for alt indhold, der skal opdateres.

Update content with new design

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

Opgrader udvidelsen #

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

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

Følg disse trin:

  1. Log ind på din server via kommandolinje.

  2. Navigér 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 den nyeste version af Clerk til Magento 2 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.2.8.3 af Magento 2 Clerk-udvidelsen.

I nogle konfigurationer forhindrer Require.js Clerk.js i at indlæse, hvilket betyder, at ingen sliders eller søgeresultater vises.

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

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.

Dette kan gøres i følgende fil:

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

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

Ignore Require.js in tracking script

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