Aktualizácia šablón Liquid pre skripty

Ak vo svojom online obchode spúšťate skripty, musíte skontrolovať, ako ovplyvňujú stránky vo výkladnej skrini. Mnohé témy obsahujú kód na podporu skriptov, niektoré ho však nemajú. Ak vaša téma kód neobsahuje, môžete ho pridať.

Riešenie problémov

Väčšina problémov so skriptmi a témami sa týka skriptov samostatných položiek, ktoré ponúkajú zľavy. Celková cena objednávky je napríklad správna, ale ceny samostatných položiek nezobrazujú zľavy. Zákazníci musia rozumieť tomu, ako sa vypočítavajú ich zľavy. Chcú vidieť pôvodnú a zľavnenú cenu, ako aj krátky popis zľavy. Ak v košíku chýba niektorý z týchto detailov, musíte pridať kód Liquid, aby sa zobrazoval.

Dobrým spôsobom, ako skontrolovať, ako skript ovplyvňuje výkladnú skriňu, je navštíviť ju ako zákazník a vykonať akcie, ktoré skript spustia.

Atribúty objektu Liquid

Nasledujúce zoznamy obsahujú atribúty objektov Liquid, ktoré sa bežne vyžadujú na podporu skriptov v košíku obchodu:

Atribúty objektu košíka:

Atribúty samostatnej položky:

Objekt skriptu:

  • Objekt skriptu sa môže použiť na vrátenie informácií o aktívnych skriptoch obchodu. Tento objekt môže byť užitočný pri ladení skriptov.

Príklad

Nasledujúci príklad opisuje zmeny, ktoré môžete urobiť v šablóne cart.liquid na podporu skriptu samostatnej položky.

Príklad košíka

Ak máte napríklad košík s tromi samostatnými položkami:

  • Futbalová lopta
    • Množstvo: 1
    • Jednotková cena: 15,00 $
  • Tenisová loptička
    • Množstvo: 5
    • Jednotková cena: 5,00 $
  • Bežecká obuv
    • Množstvo: 1
    • Jednotková cena: 30,00 $

A publikovali ste skript, ktorý uplatňuje nasledujúce zľavy:

  • Zľava 10 % na dve a viac tenisových loptičiek
  • Zľava 5 $ na všetku obuv

Vaša šablóna cart.liquid by potom mohla byť jednoduchou tabuľkou so zoznamom samostatných položiek a súhrnom ich celkových súm:

<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>

Po uplatnení zliav skriptom vytvorí táto šablóna pre košík nasledujúcu tabuľku:

ProduktMnožstvoSpolu
Futbalová lopta115,00 $
Tenisová loptička522,50 $
Bežecká obuv125,00 $
Spolu62,50 $

Aktualizácia samostatných položiek

Ak chcete zobraziť zľavy uplatnené skriptom, je potrebné aktualizovať samostatné položky tak, aby zobrazovali tri kľúčové informácie:

  • cenu položky pred zľavami
  • cenu položky po zľavách
  • správu s popisom uplatnených zliav.

Na tento účel použite nasledujúce atribúty objektov Liquid:

  • line_item.total_discount vracia sumu zľavy, ktorá sa na samostatnú položku uplatnila
  • line_item.original_line_price vracia cenu samostatnej položky pred zľavami
  • line_item.message vracia správu, ktorá opisuje zľavy uplatnené na samostatnú položku.

Odlišovať pôvodnú cenu položky od zľavnenej ceny pomáha prečiarknutie:

<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>

Košík by mal teraz vyzerať takto:

ProduktMnožstvoSpolu
Futbalová lopta115,00 $
Tenisová loptička522,50 $ 25,00 $ (zľava 10 % na dve a viac tenisových loptičiek)
Bežecká obuv125,00 $ 30,00 $ (zľava 5 $ na všetku obuv)
Spolu62,50 $

Aktualizácia súhrnu košíka

Ak chcete zákazníkovi uľahčiť sledovanie ceny objednávky, mali by ste zobraziť aj:

  • pôvodný medzisúčet košíka, aby si zákazníci mohli porovnať sumu pred zľavou a po nej
  • celkovú úsporu, ktorú zákazník v košíku získal.

Na pridanie týchto informácií opäť použite nasledujúce atribúty objektov Liquid:

  • cart.total_discount vracia sumu zľavy uplatnenej na položky v košíku
  • cart.original_total_price vracia medzisúčet košíka pred zľavami.

S týmito informáciami by mohol váš aktualizovaný blok .summary vyzerať takto:

<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>

Tabuľka košíka by mala teraz vyzerať takto:

ProduktMnožstvoSpolu
Futbalová lopta115,00 $
Tenisová loptička522,50 $ 25,00 $ (zľava 10 % na dve a viac tenisových loptičiek)
Bežecká obuv125,00 $ 30,00 $ (zľava 5 $ na všetku obuv)
Medzisúčet70,00 $
Úspora zo zliav7,50 $
Spolu62,50 $

Pridaním niekoľkých nových objektov Liquid do šablón môžete zákazníkom pomôcť pochopiť, ako sa počítajú ich zľavy.

Ďalšie príklady

Nasledujúci príklad Liquid ukazuje zľavy pre každú samostatnú položku:

{% 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 %}

Pozrite si ďalší príklad zľavy, ktorý zahŕňa zmeny kódu Liquid.