Ažuriranje predložaka za Liquid za Scripts

Ako izvodite skripte u svojoj internetskoj trgovini, trebate provjeriti kako one utječu na stranice internetske trgovine. Mnoge teme uključuju kod za podršku skripti, no neke ga nemaju. Ako vaša tema ne sadrži taj kod, možete ga dodati.

Rješavanje problema

Većina problema sa skriptama i temama uključuje skripte linije artikla koje nude popuste. Na primjer, ukupna je cijena narudžbe točna, ali cijene linije artikla ne prikazuju popuste. Korisnici moraju razumjeti kako su im obračunati popusti. Žele vidjeti izvornu cijenu i cijenu s popustom te kratki opis popusta. Ako neki od tih podataka nedostaje u vašoj košarici, trebate dodati kod Liquid kako bi se prikazivali.

Dobar način da provjerite kako skripta utječe na vašu internetsku trgovinu jest da je posjetite kao korisnik i izvršite radnje koje pokreću skriptu.

Atributi objekta jezika predloška Liquid

Sljedeći popisi sadrže atribute objekta jezika predloška Liquid koji su obično potrebni za podršku skriptama u košarici vaše trgovine:

Atributi objekta košarice:

Atributi linije artikla:

Objekt skripte:

  • Objekt skripte može se upotrijebiti za vraćanje informacija o aktivnim skriptama trgovine. Ovaj objekt može biti koristan pri otklanjanju pogrešaka u skriptama.

Primjer

Sljedeći primjer opisuje izmjene koje možete unijeti u svoj predložak cart.liquid za podršku skripti linije artikla.

Primjer košarice

Na primjer, ako imate košaricu s trima linijama artikla:

  • Nogometna lopta
    • Količina: 1
    • Jedinična cijena: 15,00 USD
  • Teniska loptica
    • Količina: 5
    • Jedinična cijena: 5,00 USD
  • Tenisica za trčanje
    • Količina: 1
    • Jedinična cijena: 30,00 USD

I objavili ste skriptu koja primjenjuje sljedeće popuste:

  • 10 % popusta na dvije teniske loptice ili više njih
  • Popust od 5,00 USD na sve tenisice

Tada bi vaš predložak cart.liquid mogao biti jednostavna tablica koja navodi linije artikla i sažetak njihovih ukupnih iznosa:

<table class="cart">
  <thead class="heading">
    <tr>
      <th>Product</th>
      <th>Quantity</th>
      <th>Total</th>
    </tr>
  </thead>

  <tbody class="line-items">
    {% for item in cart.items %}
    <tr>
      <td>{{ item.product.title }}</td>
      <td>{{ item.quantity }}</td>
      <td>{{ item.line_price | money }}</td>
    </tr>
    {% endfor %}
  </tbody>

  <tfoot class="summary">
    <tr>
      <td colspan="2">Total</td>
      <td>{{ cart.total_price | money }}</td>
    </tr>
  </tfoot>
</table>

S popustima koje je primijenila skripta, ovaj predložak stvara sljedeću tablicu za vašu košaricu:

ProizvodKoličinaUkupno
Nogometna lopta115,00 USD
Teniska loptica522,50 USD
Tenisica za trčanje125,00 USD
Ukupno62,50 USD

Ažuriranje linija artikala

Za prikaz popusta koje je primijenila skripta potrebno je ažurirati linije artikala kako bi prikazivale tri ključna podatka:

  • cijenu linije prije popusta
  • cijenu linije nakon popusta
  • poruku s opisom primijenjenih popusta.

Da biste to učinili, upotrijebite sljedeće atribute objekta jezika predloška Liquid:

  • line_item.total_discount vraća iznos popusta koji je primijenjen na liniju artikla
  • line_item.original_line_price vraća cijenu linije artikla prije popusta
  • line_item.message vraća poruku koja opisuje popuste primijenjene na liniju artikla.

Pri razlikovanju izvorne cijene linije od one s popustom može vam pomoći efekt precrtavanja:

<tbody class="line-items">
  {% for item in cart.items %}
  <tr>
    <td>{{ item.product.title }}</td>
    <td>{{ item.quantity }}</td>
    <td>
      {{ item.line_price }}
      {% if item.total_discount > 0 %}
        <s>{{ item.original_line_price }}</s>
        ( {{ item.message }} )
      {% endif %}
    </td>
  </tr>
  {% endfor %}
</tbody>

Vaša bi košarica sada trebala izgledati ovako:

ProizvodKoličinaUkupno
Nogometna lopta115,00 USD
Teniska loptica522,50 USD 25,00 USD (10 % popusta na dvije teniske loptice ili više njih)
Tenisica za trčanje125,00 USD 30,00 USD (popust od 5,00 USD na sve tenisice)
Ukupno62,50 USD

Ažuriranje sažetka košarice

Da biste korisniku olakšali praćenje cijene narudžbe, trebali biste prikazati i sljedeće:

  • izvorni međuzbroj košarice kako biste korisnicima omogućili usporedbu iznosa prije i poslije popusta
  • ukupnu uštedu koju je korisnik ostvario u svojoj košarici.

Opet, za dodavanje tih podataka upotrijebite sljedeće atribute objekta jezika predloška Liquid:

  • cart.total_discount vraća iznos popusta primijenjenog na stavke u košarici
  • cart.original_total_price vraća međuzbroj košarice prije popusta.

S tim podacima vaš ažurirani blok .summary mogao bi izgledati ovako:

<tfoot class="summary">
  <tr>
    <td colspan="2">Subtotal</td>
    <td>{{ cart.original_total_price | money }}</td>
  </tr>
  <tr>
    <td colspan="2">Discount Savings</td>
    <td>{{ cart.total_discount | money }}</td>
  </tr>
  <tr>
    <td colspan="2">Total</td>
    <td>{{ cart.total_price | money }}</td>
  </tr>
</tfoot>

Tablica vaše košarice sada bi trebala izgledati ovako:

ProizvodKoličinaUkupno
Nogometna lopta115,00 USD
Teniska loptica522,50 USD 25,00 USD (10 % popusta na dvije teniske loptice ili više njih)
Tenisica za trčanje125,00 USD 30,00 USD (popust od 5,00 USD na sve tenisice)
Međuzbroj70,00 USD
Ušteda na temelju popusta7,50 USD
Ukupno62,50 USD

Dodavanjem nekoliko novih objekata jezika predloška Liquid u svoje predloške, možete korisnicima pomoći u razumijevanju načina na koji im se izračunavaju popusti.

Ostali primjeri

Sljedeći primjer jezika predloška Liquid prikazuje popuste za svaku liniju artikla:

{% if item.original_line_price != item.line_price %}
  <small class="original-price"><s>{{ item.original_line_price | money }}</s></small>
  {% endif %}
  {{ item.line_price | money }}
  {% for discount in item.discounts %}
  <small class="discount">{{ discount.title }}</small>
  {% endfor %}

Pogledajte još jedan primjer popusta koji uključuje izmjene koda Liquid.