„Liquid“ šablonų atnaujinimas scenarijams
Jei savo internetinėje parduotuvėje naudojate scenarijus, turite patikrinti, kaip jie veikia jūsų vitrinos puslapius. Daugelyje temų yra kodas, palaikantis jūsų scenarijus, tačiau kai kuriose jo nėra. Jei jūsų temoje šio kodo nėra, galite jį pridėti.
Trikčių šalinimas
Dauguma su scenarijais ir temomis susijusių problemų kyla dėl prekių pozicijų scenarijų, kurie taiko nuolaidas. Pavyzdžiui, bendra užsakymo kaina yra teisinga, tačiau prekių pozicijų kainose nuolaidos nerodomos. Klientai turi suprasti, kaip apskaičiuojamos jų nuolaidos. Jie nori matyti pradinę kainą ir kainą su nuolaida, taip pat trumpą nuolaidos aprašymą. Jei jūsų krepšelyje trūksta kurios nors iš šių detalių, turite pridėti „Liquid“ kodą, kad jos būtų rodomos.
Geras būdas patikrinti, kaip jūsų scenarijus veikia vitriną – apsilankyti joje kaip klientas ir atlikti veiksmus, kurie paleidžia scenarijų.
„Liquid“ objekto atributai
Toliau pateiktuose sąrašuose nurodyti „Liquid“ objekto atributai, kurių dažnai prireikia scenarijams palaikyti jūsų parduotuvės krepšelyje:
Krepšelio objekto atributai:
Prekės pozicijos atributai:
- line_item.discounts
- line_item.message
- line_item.original_price
- line_item.original_line_price
- line_item.total_discount
Scenarijaus objektas:
- Naudojant script object, galima grąžinti informaciją apie parduotuvės aktyvius scenarijus. Šis objektas gali būti naudingas derinant scenarijus.
Pavyzdys
Toliau pateiktame pavyzdyje aprašomi pakeitimai, kuriuos galite atlikti savo „cart.liquid“ šablone, kad palaikytumėte prekės pozicijos scenarijų.
Krepšelio pavyzdys
Pavyzdžiui, jei jūsų krepšelyje yra trys prekių pozicijos:
- Futbolo kamuolys
- Kiekis: 1
- Vieneto kaina: 15,00 $
- Teniso kamuoliukas
- Kiekis: 5
- Vieneto kaina: 5,00 $
- Bėgimo batelis
- Kiekis: 1
- Vieneto kaina: 30,00 $
Ir esate paskelbę scenarijų, kuris taiko šias nuolaidas:
- 10 % nuolaida perkant du ar daugiau teniso kamuoliukų
- 5 $ nuolaida visiems batams
Tada jūsų cart.liquid šablonas gali būti paprasta lentelė, kurioje pateikiamos prekių pozicijos ir jų bendrų sumų suvestinė:
<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>Pritaikius scenarijaus nuolaidas, šis šablonas sukuria tokią krepšelio lentelę:
| Produktas | Kiekis | Iš viso |
|---|---|---|
| Futbolo kamuolys | 1 | 15,00 $ |
| Teniso kamuoliukas | 5 | 22,50 $ |
| Bėgimo batelis | 1 | 25,00 $ |
| Iš viso | 62,50 $ | |
Prekių pozicijų atnaujinimas
Norint parodyti scenarijaus taikomas nuolaidas, reikia atnaujinti prekių pozicijas, kad būtų rodomos trys pagrindinės informacijos dalys:
- prekės pozicijos kaina prieš nuolaidas
- prekės pozicijos kaina pritaikius nuolaidas
- pranešimas, apibūdinantis pritaikytas nuolaidas.
Norėdami tai padaryti, naudokite šiuos „Liquid“ objekto atributus:
line_item.total_discountgrąžina prekių pozicijai pritaikytos nuolaidos sumąline_item.original_line_pricegrąžina prekės pozicijos kainą prieš pritaikant nuolaidasline_item.messagegrąžina pranešimą, kuriame aprašomos prekių pozicijai pritaikytos nuolaidos.
Pradinę prekės pozicijos kainą nuo kainos su nuolaida galima atskirti naudojant perbraukimo efektą:
<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>Jūsų krepšelis dabar turėtų atrodyti taip:
| Produktas | Kiekis | Iš viso |
|---|---|---|
| Futbolo kamuolys | 1 | 15,00 $ |
| Teniso kamuoliukas | 5 | 22,50 $ |
| Bėgimo batelis | 1 | 25,00 $ |
| Iš viso | 62,50 $ | |
Krepšelio suvestinės atnaujinimas
Kad klientas galėtų sekti savo užsakymo kainą, taip pat turėtumėte rodyti:
- pradinę krepšelio tarpinę sumą, kad klientai galėtų palyginti bendras sumas prieš pritaikant nuolaidas ir po jų
- bendrą sumą, kurią klientas sutaupė pirkinių krepšelyje.
Vėlgi, norėdami pridėti šią informaciją, naudokite šiuos „Liquid“ objekto atributus:
cart.total_discountgrąžina krepšelyje esančioms prekėms pritaikytos nuolaidos sumącart.original_total_pricegrąžina krepšelio tarpinę sumą prieš pritaikant nuolaidas.
Pateikus šią informaciją, jūsų atnaujintas .summary blokas gali atrodyti taip:
<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>Jūsų krepšelio lentelė dabar turėtų atrodyti taip:
| Produktas | Kiekis | Iš viso |
|---|---|---|
| Futbolo kamuolys | 1 | 15,00 $ |
| Teniso kamuoliukas | 5 | 22,50 $ |
| Bėgimo batelis | 1 | 25,00 $ |
| Tarpinė suma | 70,00 $ | |
| Sutaupyta su nuolaida | 7,50 $ | |
| Iš viso | 62,50 $ | |
Pridėję kelis naujus „Liquid“ objektus į savo šablonus, galite padėti savo klientams suprasti, kaip apskaičiuojamos jų nuolaidos.
Kiti pavyzdžiai
Toliau pateiktame „Liquid“ pavyzdyje rodomos kiekvienos prekių pozicijos nuolaidos:
{% 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 %}Peržiūrėkite kitą nuolaidos pavyzdį, kuriame pateikiami „Liquid“ kodo pakeitimai.