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

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

ProduktasKiekisIš viso
Futbolo kamuolys115,00 $
Teniso kamuoliukas522,50 $
Bėgimo batelis125,00 $
Iš viso62,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_discount grąžina prekių pozicijai pritaikytos nuolaidos sumą
  • line_item.original_line_price grąžina prekės pozicijos kainą prieš pritaikant nuolaidas
  • line_item.message grąž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:

ProduktasKiekisIš viso
Futbolo kamuolys115,00 $
Teniso kamuoliukas522,50 $ 25,00 $ (10 % nuolaida perkant du ar daugiau teniso kamuoliukų)
Bėgimo batelis125,00 $ 30,00 $ (5 $ nuolaida visiems batams)
Iš viso62,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_discount grąžina krepšelyje esančioms prekėms pritaikytos nuolaidos sumą
  • cart.original_total_price grąž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:

ProduktasKiekisIš viso
Futbolo kamuolys115,00 $
Teniso kamuoliukas522,50 $ 25,00 $ (10 % nuolaida perkant du ar daugiau teniso kamuoliukų)
Bėgimo batelis125,00 $ 30,00 $ (5 $ nuolaida visiems batams)
Tarpinė suma70,00 $
Sutaupyta su nuolaida7,50 $
Iš viso62,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.