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 version 3.0.3 af Magento 1-udvidelsen er valutakonvertering inkluderet som standard, hvis du bruger Magento 1’s standardkonverteringsfunktion.

Den er tilføjet 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 valutaen i den aktuelle session og tilføjer valutasymbolet.

Eksempel på output:

Currency conversion example

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 findes dette script i følgende fil:

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

Eksempel på formatter #

Et eksempel kan ses nedenfor. Bemærk, at dette er til 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 hvilket som helst 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%}{{ x formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%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å test-sites for at undgå uønskede besøgende.

Dette vil blokere Clerk Importeren og vise en 401 Unauthorized-fejl i synkroniseringsloggen.

Du kan løse dette ved at indsætte loginoplysningerne 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
HTTP authentication in import URL

Almindelige sync-fejl #

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

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

Dog kan serverens konfiguration i nogle tilfælde forhindre Importeren i at få adgang, hvilket giver en fejl i Data Sync.

Herunder finder du en liste over de mest typiske fejl og hvordan du løser dem.

401 Unauthorized #

Denne fejl opstår, hvis din webshop eller 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@magento.clerk.io/clerk/api/store/1

403 Forbidden #

Denne fejl opstår, hvis din server blokerer importøren for adgang.

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

Den seneste IP-adresse findes her.

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

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

Nogle gange fortsætter fejlen, selvom du har whitelistet importørens IP-adresse.

Vi anbefaler at undersøge følgende punkter:

  • Autentifikationsdelen af bodyen kan være fjernet fra anmodningen fra butikkens server.

  • Serverens rate limit, f.eks. i forhold til Cloudflare.

404 Not Found #

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

Ofte skyldes det, at udvidelsen enten:

  • Ikke er installeret

  • En cache bevirker, at linket ikke bliver initieret

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

Ryd derefter din webshops cache, inden 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 og større forespørgsler:

Page size configuration

Hvis du benytter Byte.nl som hosting-udbyder, returnerer importøren ofte denne fejl på grund af deres rate limiter. I så fald 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 ikke kunne specificere, hvilken fejl der opstod.

Tjek din Server Log for at identificere hvilket proces der fejlede og hvorfor.

I de fleste tilfælde skyldes det blot et produkt med en ugyldig attribut, eller en funktion, som kaldes 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 senere.

Hvis problemet fortsætter, betyder det muligvis, at serveren er overbelastet med processer og nærmer sig maksimal kapacitet.

Tjek server load for at afgøre, om dette er tilfældet.

Magento API fejl #

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

Tjek din Server Log for at identificere hvilken proces, der fejlede og hvorfor.

I de fleste tilfælde skyldes det blot et produkt med en ugyldig attribut eller at din memory limit blev overskredet.

Powerstep vises ikke #

Hvis Add-To-Basket-funktionen ikke er aktiveret, skyldes det typisk én af to grunde:

  • Du har en anden add-to-basket-popup eller funktion aktiveret, som blokerer Clerks funktion.

  • De forkerte Element IDs er indsat i udvidelsen.

Anden popup aktiveret #

Start med at tjekke din nuværende Magento-installation for at se, om du allerede har en popup eller dropdown, der vises ved tilføjelse af et produkt til kurven.

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

Hvis det er tilfældet, deaktiver den og prøv 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 forkerte template-ID’er er indtastet i Clerk-udvidelsens indstillinger.

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.

Clerk settings in Magento

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

Configuration scope selection

Under Power step settings, tjek feltet Templates.

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

Power step templates field

For at sikre at dine ID’er er korrekte, log 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.

Edit content in Clerk

Gå til fanen “Insert into website” og find embed-koden.

Det ID, du finder i data-template, er det ID, du skal kopiere til Magento-udvidelsen:

Element ID in embed code

Klik Save Config i Magento-udvidelsen, og Powerstep bør virke efterfølgende.

Cacheproblemer #

Hvis du har aktiveret powerstep-popuppen, 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 alle interne og tredjeparts-cacher.

  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 har minimal indvirkning på sidehastigheden.

  3. Skærmbilledet nedenfor viser præcis hvilken du skal deaktivere:

Full page cache settings

Når du har deaktiveret Full Page Cache, bør Clerk-popuppen komme frem.

Hvis den ikke gør det, kontakt Clerk Support via live-chat-ikonet i nederste højre hjørne, så hjælper vi med at finde en løsning til netop din opsætning.

Forside-slidere cachet #

Normalt sker dette kun, hvis embed-koder indsættes gennem Magentos CMS Pages i backend, eftersom forsiden er cachet:

CMS pages in Magento

I stedet skal dine embed-koder indsættes direkte i forsidefilerne, via FTP:

Frontpage files via FTP

Magento cacher ikke resultater, når de indsættes på denne måde.

Billeder vises ikke #

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

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

Dette kan let løses på følgende måde:

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

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

  3. Gå til Data.

  4. Klik på Start New Data Sync i øverste højre hjørne.

Start new data sync

Dette starter en ny fuld synkronisering af dine produkter, så Clerk får de korrekte billedstier.

I Clerks Magento-udvidelse v2.1.0 løses dette automatisk ved at starte en Sync, når billedcachen ryddes.

Hvis du bruger en ældre version af udvidelsen, anbefaler vi stærkt, at du opgraderer 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 fungerer 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 language – men de kan også let laves med 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. Vælg din designtype.
Design type selection
  1. I Design Editor kan du klikke på et hvilket som helst eksisterende element som navn, billede, knap osv. for at redigere det, eller vælge nye elementer og tilføje dem til Designet for at tilføje flere oplysninger om produkterne.

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

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

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

Update content with new design

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

Opgrader udvidelsen #

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

Du kan downloade den seneste udvidelse fra dette link:

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

Download latest Magento extension

Gem ændringer #

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

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

Normalt er det Product.php og Productbase.php, de fleste udviklere ændrer – de 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 udvidelsen #

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

  1. Deaktiver den gamle udvidelse i Magentos System > Configuration > Clerk > Settings. Sæt Enable til No og klik Save Config.
Deactivate Clerk extension
  1. Herefter skal du afinstallere den enten via Magento Connect eller ved at slette filerne fra FTP, hvis du installerede den direkte.
Uninstall extension

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

Installer udvidelsen #

Installér til sidst den nyeste udvidelse igen og flyt alle backup-filer til din FTP-server.

Din konfiguration burde være gemt, selv når du installerer den nye version.

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

Nu har du 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 at Clerk.js load’er, hvilket betyder, at hverken sliders 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 kræver, at du ændrer tracking-scriptet i følgende fil:

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

Inkludér i Require.js #

Den bedste løsning er at få Require.js til at genkende Clerk.

Det kan du gøre ved at indsætte require(['clerk'], function() {}); i bunden af tracking-scriptet:

Include clerk in Require.js

Ignorér Require.js #

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

Dette gør du ved at indsætte window.__clerk_ignore_requirejs = true; øverst i tracking-scriptet:

Ignore Require.js

Når du har fulgt én af disse metoder, vil Require.js fungere med Clerk.

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