Ažuriranje Liquid šablona za Scripts
Ako izvršavate skripte u svojoj internet prodavnici, morate da proverite kako one utiču na stranice u izlogu. Mnoge teme uključuju kôd koji podržava skripte, ali neke ne. Ako vaša tema nema kôd, možete da ga dodate.
Na ovoj stranici
Rešavanje problema
Većina problema sa skriptama i temama odnosi se na skripte stavki koje nude popuste. Na primer, ukupna cena porudžbine je tačna, ali cene stavki ne prikazuju popuste. Kupci moraju da razumeju kako se izračunavaju njihovi popusti. Oni žele da vide originalnu i sniženu cenu, kao i kratak opis popusta. Ako neki od ovih detalja nedostaju u vašoj korpi, potrebno je da dodate Liquid kôd da bi se oni prikazali.
Dobar način da proverite kako skripta utiče na vaš izlog je da ga posetite kao kupac i izvršite radnje koje pokreću skriptu.
Atributi Liquid objekata
Sledeće liste sadrže atribute Liquid objekata koji su obično potrebni za podršku skriptama u korpi vaše prodavnice:
Atributi objekta korpe:
Atributi stavke:
- line_item.discounts
- line_item.message
- line_item.original_price
- line_item.original_line_price
- line_item.total_discount
Objekat skripte:
- Objekat skripte može da se koristi za vraćanje informacija o aktivnim skriptama u prodavnici. Ovaj objekat može da bude koristan pri otklanjanju grešaka u skriptama.
Primer
Sledeći primer opisuje promene koje možete da unesete u svoj cart.liquid šablon da biste podržali skriptu stavke.
Primer korpe
Na primer, ako imate korpu sa tri stavke:
- Fudbalska lopta
- Količina: 1
- Jedinična cena: 15,00 $
- Teniska lopta
- Količina: 5
- Jedinična cena: 5,00 $
- Patika za trčanje
- Količina: 1
- Jedinična cena: 30,00 $
I ako ste objavili skriptu koja primenjuje sledeće popuste:
- 10% popusta na dve ili više teniskih lopti
- 5 $ popusta na svu obuću
Onda bi vaš cart.liquid šablon mogao da bude jednostavna tabela koja prikazuje stavke i rezime 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>Uz popuste koje primenjuje skripta, ovaj šablon kreira sledeću tabelu za vašu korpu:
| Proizvod | Količina | Ukupno |
|---|---|---|
| Fudbalska lopta | 1 | 15,00 $ |
| Teniska lopta | 5 | 22,50 $ |
| Patika za trčanje | 1 | 25,00 $ |
| Ukupno | 62,50 $ | |
Ažuriranje stavki
Da bi se prikazali popusti koje primenjuje skripta, potrebno je da ažurirate stavke tako da prikazuju tri ključne informacije:
- cenu stavke pre popusta
- cenu stavke posle popusta
- poruku koja opisuje primenjene popuste
Da biste to uradili, koristite sledeće atribute Liquid objekata:
line_item.total_discountvraća iznos popusta koji je primenjen na stavkuline_item.original_line_pricevraća cenu stavke pre popustaline_item.messagevraća poruku koja opisuje popuste koji su primenjeni na stavku
Korisno je da originalnu cenu stavke odvojite od snižene cene koristeći efekat precrtanog teksta:
<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 korpa bi sada trebalo da izgleda ovako:
| Proizvod | Količina | Ukupno |
|---|---|---|
| Fudbalska lopta | 1 | 15,00 $ |
| Teniska lopta | 5 | 22,50 $ |
| Patika za trčanje | 1 | 25,00 $ |
| Ukupno | 62,50 $ | |
Ažuriranje rezimea korpe
Da biste pomogli kupcu da prati cenu svoje porudžbine, trebalo bi da prikažete i sledeće:
- originalni međuzbir korpe, kako bi kupci mogli da uporede ukupne iznose pre i posle popusta
- ukupnu uštedu koju je kupac ostvario u korpi
Opet, da biste dodali ove informacije, koristite sledeće atribute Liquid objekata:
cart.total_discountvraća iznos popusta koji je primenjen na stavke u korpicart.original_total_pricevraća međuzbir korpe pre popusta
Sa ovim informacijama, vaš ažurirani .summary blok bi mogao da izgleda 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>Tabela vaše korpe bi sada trebalo da izgleda ovako:
| Proizvod | Količina | Ukupno |
|---|---|---|
| Fudbalska lopta | 1 | 15,00 $ |
| Teniska lopta | 5 | 22,50 $ |
| Patika za trčanje | 1 | 25,00 $ |
| Međuzbir | 70,00 $ | |
| Ušteda od popusta | 7,50 $ | |
| Ukupno | 62,50 $ | |
Dodavanjem nekoliko novih Liquid objekata u šablone možete da pomognete kupcima da razumeju kako se izračunavaju njihovi popusti.
Drugi primeri
Sledeći Liquid primer prikazuje popuste za svaku stavku:
{% 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 primer popusta koji uključuje promene Liquid koda.