Bigcommerce

FAQ

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

Støder du på problemer med din BigCommerce integration? Denne FAQ dækker de mest almindelige problemer og deres løsninger, fra kundespecifikke gruppepriser til formatters.

Brug af formatters #

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

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

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

  • Som en konfiguration for Clerk.js, i tracking-scriptet der er indsat på alle sider, hvor flere formatters kan tilføjes på én gang.

Eksempel på formatter #

Et eksempel kan ses nedenfor. Bemærk at dette er 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, som dette:

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 Designs med denne syntaks:

Formatter syntax in designs

Dette gør det muligt for dig at skabe enhver funktionalitet i dine Designs, som du ønsker at bruge med Clerk i din webshop.

Kundegruppepriser (Legacy) #

Denne funktion er forældet og kan kun bruges, hvis du allerede har den aktiveret. Den virker ikke sammen med Search 3.0 og vil ikke blive understøttet i fremtiden.

Opsætningen af kundegruppepriser består af 2 trin:

  1. Kør en fuld synkronisering mellem Clerk og BigCommerce.

  2. Angiv en pris-kontekst, når indholdet vises på siden.

Kør fuld synkronisering #

Når du kører en fuld synkronisering mellem Clerk og BigCommerce, vil Clerk gemme de forskellige kundegruppepriser og prisregler, som er aktive for butikken.

Disse regler gemmes separat for hvert produkt og vil blive brugt, når produktet vises på hjemmesiden.

Disse regler opdateres også kun, når en fuld synkronisering køres.

Angiv pris-kontekst #

Når du viser produktet på hjemmesiden, skal du angive en pris-kontekst til Clerk.

Dette kan gøres ved at angive kundegruppe-ID’et for den aktuelle kunde eller ved at angive deres emailadresse eller kunde-ID.

Pris-konteksten kan enten angives i HTML-attributterne for selve anker-tagget for indholdet, eller den kan angives som en del af Clerk('config', ...)-kaldet.

HTML-attributter #

Her er nogle eksempler på, hvordan denne kode ville se ud, hvis den angives i selve anker-tagget:

<span
  class="clerk"
  data-template="@content-1"
  data-price_context='{"customer":{"email": "support@clerk.io"}}'
></span>

<span
  class="clerk"
  data-template="@content-2"
  data-price_context='{"customer":{"id": 12345}}'
></span>

<span
  class="clerk"
  data-template="@content-3"
  data-price_context='{"qualifiers":{"customer_group_id": 0}}'
></span>

Clerk config #

Her er et eksempel på, hvordan dette ville se ud, hvis det angives som en del af Clerk('config', ...)-kaldet:

Clerk('config', {
  price_context: {
    customer: {
      email: "support@clerk.io"
    }
  }
})

Fremgangsmåden ovenfor kan kombineres med, hvor andre standardværdier sættes ved sideindlæsning:

Clerk('config', {
  key: 'YOUR_PUBLIC_KEY',
  language: 'english',
  price_context: {
    customer: {
      email: "support@clerk.io"
    }
  }
})

Dynamisk indsættelse #

For dynamisk at indsætte dette indhold, kan du bruge de variabler, der er tilgængelige i dit Stencil theme, i stedet for at hardcode inputtet til en given emailadresse eller bruger-ID.

Du kan finde, hvordan du udskriver de forskellige kundeværdier i theme’et nedenfor:

Customer Object BigCommerce

Her er et eksempel på, hvordan du kan bruge kunde-objektet i dit theme til dynamisk at sætte pris-konteksten:

<span
  class="clerk"
  data-template="@content-1"
  data-price_context='{"customer":{"email": "{{ customer.email }}"} }'
></span>

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