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ť.
Na tejto stránke
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:
- line_item.discounts
- line_item.message
- line_item.original_price
- line_item.original_line_price
- line_item.total_discount
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:
| Produkt | Množstvo | Spolu |
|---|---|---|
| Futbalová lopta | 1 | 15,00 $ |
| Tenisová loptička | 5 | 22,50 $ |
| Bežecká obuv | 1 | 25,00 $ |
| Spolu | 62,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_discountvracia sumu zľavy, ktorá sa na samostatnú položku uplatnilaline_item.original_line_pricevracia cenu samostatnej položky pred zľavamiline_item.messagevracia 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:
| Produkt | Množstvo | Spolu |
|---|---|---|
| Futbalová lopta | 1 | 15,00 $ |
| Tenisová loptička | 5 | 22,50 $ |
| Bežecká obuv | 1 | 25,00 $ |
| Spolu | 62,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_discountvracia sumu zľavy uplatnenej na položky v košíkucart.original_total_pricevracia 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:
| Produkt | Množstvo | Spolu |
|---|---|---|
| Futbalová lopta | 1 | 15,00 $ |
| Tenisová loptička | 5 | 22,50 $ |
| Bežecká obuv | 1 | 25,00 $ |
| Medzisúčet | 70,00 $ | |
| Úspora zo zliav | 7,50 $ | |
| Spolu | 62,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.