Magento 1

FAQ

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

Oplever du problemer med din Magento 1-integration? Denne FAQ dækker de mest almindelige problemer og deres løsninger, fra valutakonvertering til synkroniseringsfejl.

Valutakonvertering #

Fra v3.0.3 af Magento 1-udvidelsen er valutakonvertering inkluderet som standard, hvis du bruger Magento 1’s standard konverteringsfunktion.

Det tilføjes i my.clerk.io -> Designs, med formatteren price_in_currency.

Hjælpefunktionen kan tilføjes til dit Design på følgende måde:

{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}

Hjælpefunktionen konverterer automatisk prisen til den aktuelle sessions valuta og tilføjer valutasymbolet.

Brug af formattere #

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

Formattere 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 Magento 1 indeholder denne fil tracking-scriptet:

app->design->frontend->base->default->template->clerk->tracking.phtml

Eksempel på formatter #

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

Clerk('config', {
  key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
  formatters: {
    form_key: function () {
      return '<?php echo $this->getFormKey(); ?>';
    },
    price_in_currency: function(price) {
      price = Math.round(price * 100) / 100;
      var price_converted = Math.round((price * <?php echo (float)$rates[$currentCurrencyCode]; ?>) * 100) / 100;
      var retVal = <?php echo json_encode($currentCurrencySymbol); ?> + ' ' + price_converted.toFixed(2).toString();
      return retVal;
    },
    log_price: function(price) {
      console.log(price);
    }
  }
});

Flere formattere #

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 at have oprettet dine Formatters, kan du bruge dem i dine Designs med denne syntaks:

{%raw%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}

Dette giver dig mulighed for at oprette enhver funktionalitet i dine Designs, som du har brug for.

HTTP-autentificering #

HTTP-autentificering bruges ofte på testmiljøer for at undgå uønskede besøgende.

Dette blokerer Clerk Importeren og viser 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@magento.clerk.io/clerk/api/store/1

Almindelige synkroniseringsfejl #

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

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

I nogle tilfælde kan serverens konfiguration dog forhindre Importeren i at få adgang, hvilket medfører en fejl i Data Sync.

Nedenfor vises 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@magento.clerk.io/clerk/api/store/1

403 Forbidden #

Denne fejl opstår, hvis din server blokerer importeren fra at få adgang.

I de fleste tilfælde skal du blot whiteliste importørens IP-adresse for at give adgang.

Den seneste IP-adresse kan findes her.

Tjek også om din public key, private key og import URL er korrekte for den butik, du arbejder med i my.clerk.io.

Hvad hvis jeg allerede har whitelistet, men fejlen fortsætter?

Der kan være enkelte tilfælde, hvor du har whitelistet importørens IP-adresse, men fejlen fortsat opstår.

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

  • Autentificeringsdelen af forespørgslen kan blive fjernet fra anmodningen af butikkens server.
  • Rate limit for serveren i forhold til Cloudflare.

404 Not Found #

Denne fejl opstår, hvis importøren ikke kunne tilgå linket, der sender data fra webshoppen.

Oftest skyldes det, at udvidelsen enten:

  • Ikke er installeret overhovedet
  • En cache forårsager, at linket ikke initialiseres

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

Sørg derefter for at rydde webshoppens 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 anmodninger.

Du kan løse dette ved at øge serverens anmodningsgrænse eller sætte 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, større anmodninger.

Hvis du bruger hostingudbyderen Byte.nl, returnerer importøren typisk denne fejl pga. deres rate limiter. I dette tilfælde skal du kontakte Byte.nl og bede dem whiteliste importørens User-Agent “clerk”.

500 Internal Server Error #

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

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

Oftest skyldes det blot et produkt med en ugyldig attribut, eller en funktion, der kaldes forkert i webshoppen.

503 Service Unavailable #

Denne fejl er normalt midlertidig og skyldes, at serveren er for travl til at håndtere anmodningen.

Prøv igen lidt senere.

Hvis problemet fortsætter, kan det skyldes, at serveren er overbelastet og er tæt på maksimal kapacitet.

Tjek serverbelastningen for at afgøre, om det er tilfældet.

Magento API error #

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

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

Oftest skyldes det blot et produkt med en ugyldig attribut, eller at din hukommelsesgrænse er overskredet.

Powerstep vises ikke #

Hvis Add-To-Basket-trinnet ikke er aktiveret, skyldes det typisk to grunde:

  • Du har en anden add-to-basket-popup eller funktion aktiveret, som blokerer for Clerks funktion.
  • De forkerte Element-ID’er er indsat i udvidelsen.

En anden popup aktiveret #

Start med at kontrollere din nuværende Magento-installation for at se, om du allerede har en popup eller dropdown, der vises, når et produkt lægges i kurven.

Disse kan normalt forhindre Clerks add-to-basket-trin i at vises.

Hvis dette er tilfældet, skal du deaktivere den og prøve igen.

Forkerte element-ID’er #

Hvis du ikke har en anden add-to-basket-popup, og din powerstep er aktiveret, men ikke vises, skyldes det sandsynligvis, at de forkerte template-ID’er er indsat i Clerk-udvidelsesindstillingerne.

Dette vil få Powerstep til at fejle.

For at løse dette, skal du starte med at logge ind i din Magento-admin og gå til System > Configuration > Clerk > Settings.

Vælg derefter det korrekte Configuration Scope, der matcher din butik.

Under Power step settings, tjek feltet Templates.

Dette felt skal indeholde de korrekte ID’er adskilt med komma, hvis du bruger mere end ét.

For at sikre, at dine ID’er er korrekte, skal du logge ind på my.clerk.io.

Vælg den korrekte Store, og gå til Recommendations/Search > Elements.

Klik på Edit Element for en slider, du vil vise i powerstep.

Tjek fanen “Insert into website” og find embed-koden.

Kopier værdien af data-template fra embed-koden ind i feltet Templates i Magento-udvidelsen.

Klik på Save Config i Magento-udvidelsen, og Powerstep bør fungere herefter.

Cache-problemer #

Hvis du har aktiveret powerstep-popup’en og den stadig ikke vises, når du tilføjer et produkt til kurven, skyldes det ofte Cache.

  1. Gå til System > Cache og ryd al Intern og Tredjeparts Cache.

  2. Hvis det ikke løser det, bruger du sandsynligvis Full Page Cache, som kun påvirker de sider, en besøgende allerede har set i deres session. Deaktivering vil have minimal indvirkning på sidehastigheden.

Når du har deaktiveret Full Page Cache, bør Clerk-popup’en dukke op.

Hvis ikke, kontakt venligst Clerk Support via live-chat-ikonet nederst til højre, og vi kan hjælpe med at finde en løsning til din specifikke opsætning.

Forsideslidere cachet #

Dette sker normalt, når embed-koder indsættes via Magentos CMS-sider, fordi forsiden cachelagres.

Indsæt i stedet embed-koderne direkte i forsidefilerne via FTP.

Dette forhindrer Magento i at cache de genererede resultater.

Billeder vises ikke #

Når Magentos billed-cache ryddes, enten manuelt eller automatisk, ændres alle billedstier.

Dette betyder, at de billedstier, der sendes til Clerk, ikke længere fungerer.

Dette kan nemt løses ved at gøre følgende:

  1. Log ind på my.clerk.io.

  2. Klik på den Store, hvor billederne mangler.

  3. Gå til Data.

  4. Klik på Start New Data Sync øverst til højre.

Dette starter en ny fuld synkronisering af dine produkter, hvilket får Clerk til at hente de korrekte billedstier.

I Clerk’s Magento udvidelse v2.1.0 er dette problem løst ved automatisk at starte en Sync, når billed-cache ryddes.

Hvis du bruger en ældre version af udvidelsen, anbefaler vi stærkt at opgradere til den nyeste version.

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 med succes.

De to hovedforskelle i Clerk.js 2 er, at Designs i my.clerk.io bruger Liquid template-sproget, men de kan også nemt oprettes via Design Editor.

Opret designs #

Da Clerk.js 2 har en anden tilgang til Designs, skal du lave 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.

  2. Vælg din Design Type.

  3. I Design Editor kan du klikke på eksisterende elementer som navn, billede, knap osv. for at redigere dem eller vælge nye elementer for at tilføje mere information om produkterne.

  4. Klik på Publish, når du er færdig, og gå til Step 2 i guiden.

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

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

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

Opdater udvidelse #

Hvis du allerede har den seneste version af Clerk Magento-udvidelsen, kan du springe dette trin over.

Du kan downloade den nyeste udvidelse fra dette link:

https://github.com/clerkio/clerk-magento/releases/latest

Gem ændringer #

Inden du forsøger at opgradere, skal du sikre dig, at du enten:

  • Har gemt de ændrede filer lokalt på din FTP, eller
  • Har taget backup af eventuelle ændrede filer, som du kan overføre til den nye udvidelse.

Normalt er de filer, de fleste udviklere ændrer, Product.php og Productbase.php, som styrer produktattributter.

Disse filer findes her:

app->code->community->Clerk->Clerk->Model->Catalog->Product.php

app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php

Deaktiver udvidelse #

Inden du forsøger at opgradere, er det meget vigtigt, at du gør dette:

  1. Deaktiver den gamle udvidelse på Magentos System > Configuration > Clerk > Settings-side. Sæt blot Enable til No og klik på Save Config.

  2. Derefter afinstaller den enten via Magento Connect eller ved at slette filerne fra FTP, hvis du har installeret direkte her.

Ellers kan din Configuration-side stoppe med at fungere, og ingen af udvidelserne vil virke bagefter.

Installer udvidelse #

Installer til sidst den nyeste udvidelse igen, og flyt de filer, du har taget backup af, til din FTP-server.

Din konfiguration skal være gemt, selv ved installation af den nye version.

Tjek System > Configuration > Clerk for at sikre, at alt stadig er der.

Du har nu den seneste version af Clerk til Magento 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 #

Dette gælder kun, når du bruger v.3.7.2 eller lavere af Magento 1 Clerk-udvidelsen.

I nogle opsætninger forhindrer Require.js Clerk.js i at loade, hvilket medfører, at ingen slides 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 metoder kræver, at du laver ændringer i tracking-scriptet i denne fil:

app->design->frontend->base->default->template->clerk->tracking.phtml

Inkluder i Require.js #

Den bedste tilgang er at forsøge at få Require.js til at genkende Clerk.

Indsæt require(['clerk'], function() {}); nederst i tracking-scriptet.

Ignorer Require.js #

Hvis ovenstående løsning ikke virker, kan du ignorere Require.js.

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

Efter at have brugt en af disse metoder vil Require.js nu være kompatibelt med Clerk.

Denne side er oversat af en hjælpsom AI, og der kan derfor være sproglige fejl. Tak for forståelsen.