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 sat i Magento 2.

Disse kan ændres, hvis det er nødvendigt.

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

Stores > Configuration > Clerk > Configuration

Under Synchronization > Image type, vælg den billedopløsning, du vil sende til Clerk.

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 (formatters) #

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:

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

  • Som en configuration til Clerk.js i tracking-scriptet, der er indsat på alle sider, hvor flere formateringsfunktioner kan tilføjes på en 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, dette er for Clerk V2 (seneste version):

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

Flere formateringsfunktioner #

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 gør det muligt at oprette enhver funktionalitet, du har brug for i dine Designs.

Tilføj til kurv med Form Key #

Magento 2 bruger en form_key til CSRF-beskyttelse. Når du laver Tilføj til kurv-knapper i Clerk-designs, skal du inkludere denne form_key for at kurvfunktionen virker.

Clerk.js-scriptet til Magento 2 inkluderer en indbygget formkey global variabel, der automatisk indeholder form_key-værdien fra siden.

Brug i dit design #

I dit Clerk-design skal du inkludere form_key som et skjult input i din Tilføj til kurv-formular ved hjælp af {{ formkey }}:

<form action="{{ product.url }}checkout/cart/add/product/{{ product.id }}" method="post">
    <input name="form_key" type="hidden" value="{{ formkey }}">
    <input type="hidden" name="product" value="{{ product.id }}">
    <input type="hidden" name="qty" value="1">
    <button type="submit" class="clerk-add-to-cart">Add to Cart</button>
</form>

{{ formkey }} global er forudkonfigureret i Magento 2-udvidelsen, så der kræves ingen yderligere opsætning.

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, opdater din import-URL således:

http://USER:PASS@magento2.clerk.io/

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 Clerks Magento 2-udvidelse, 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.

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 af en af følgende å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 måske forkerte public key, private key og/eller import URL i butikken i my.clerk.io.

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

Hvis din storeview bruger en skjult URL, så inkluder dens __store-parameter i import-URL’en under Data > Configuration.

Hvad gør jeg, hvis jeg allerede har whitelistet, men samme fejl optræder stadig?

Der er få tilfælde, hvor du har whitelistet importørens IP-adresse, og fejlen stadig opstår.

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

  • Autentificeringsdelen af requesten kan blive fjernet af butikkens server.

  • Rate limit for serveren i forhold til Cloudflare.

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 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 derefter din webshops cache, før du forsøger en ny import.

429 Too Many Requests #

Denne fejl opstår, hvis din server afviser importørens adgang på grund af for mange indkommende forespørgsler.

Du kan løse dette ved at øge din servers request-limit eller indstille Page Size til en højere værdi i my.clerk.io > Data > Configuration. En større side-størrelse gør, at importøren sender færre, men større, forespørgsler.

Hvis du bruger hostingudbyderen hypernode.com/nl, returnerer importøren normalt denne fejl på grund af deres rate limiter. Kontakt i så fald hypernode.com/nl og bed dem om at whiteliste brugeragenten “clerk”.

500 Internal Server Error #

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

I disse tilfælde skal du tjekke din Server Log for at identificere, hvilken proces fejlede og hvorfor.

I de fleste tilfælde skyldes det bare et produkt med en ugyldig attribut eller en funktion, der bliver kaldt forkert i webshoppen.

503 Service Unavailable #

Denne fejl er normalt 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, serveren er overbelastet med processer og nærmer sig maksimal kapacitet.

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

Invalid response #

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

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

Hvis din webshop viderestiller til et domæne eller en sti for specifikke sprog, skal du bruge hele destinations-URL’en som import-URL i my.clerk.io.

MSI-lager import #

Hvis din Magento 2-butik bruger MSI (Multi-Source Inventory), kan du importere det samlede lager fra alle kilder til Clerk ved at tilføje attributkoden nedenfor 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 sync i my.clerk.io > Data.

Clerk importerer multi_source_stock som summen af mængder på tværs af alle MSI-kilder.

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

Opgrader 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 dog arbejder en smule forskelligt, skal du følge disse trin for at opgradere med succes.

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 ved hjælp af 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å en af to måder:

Design Editor-valgmulighed #

  1. Gå til my.clerk.io > Recommendations/Search > Designs > New Design.

  2. På den næste skærm skal du give dit Design et Name (vi anbefaler at tilføje “V2”, så det er tydeligt, at du bruger Clerk.js 2).

  3. Vælg Design Type.

  4. I Design Editor skal du klikke på et af de eksisterende elementer som navn, billede, knap osv. for at redigere det, eller tilføje nye elementer for at tilføje mere information om produkterne.

  5. Klik Publish, når du er færdig, og gå til Step 2 i vejledningen.

  6. Gå til Recommendations/Search > Elements og skift dit Clerk Element til at bruge dit nye Design.

  7. Klik Update Element. Dette vil midlertidigt få dem til ikke at blive vist 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 udvidelsen #

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

Opgradering af Magento 2-udvidelsen udføres via kommandolinjen.

Det gøres således:

  1. Log ind på din server via kommandolinjen.

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

  3. Aktivér Root Access ved at skrive su og derefter indtaste din adgangskode.

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

composer update clerk/magento2
php bin/magento setup:upgrade
php bin/magento setup:di:compile
  1. Vent, til udvidelsen er færdig.

Din Magento 2 er nu opgraderet til den nyeste version.

Nu har du den seneste 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 vejledning gælder kun ved brug op til v.2.8.3 af Magento 2 Clerk-udvidelsen.

I nogle opsætninger forhindrer Require.js Clerk.js i at loade, hvilket betyder, at der ikke bliver vist slidere 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 denne fil:

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

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

Efter at have brugt denne fremgangsmåde, 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.