Liquid-eko txantiloiak scriptetarako eguneratzea

Sareko dendan scriptak exekutatzen badituzu, egiaztatu egin behar duzu erakusleihoaren orrietan nola eragiten duten. Gai askok scriptak onartzeko kodea barne hartzen dute, baina beste batzuek ez. Zure gaiak koderik ez badu, zuk zeuk gehi dezakezu.

Arazoak konpontzea

Script eta gaiekin izaten diren arazo gehienak deskontuak eskaintzen dituzten lerroko elementuen scriptekin lotuta daude. Adibidez, eskaeraren guztizko prezioa zuzena da, baina lerroko elementuen prezioetan ez dira deskontuak agertzen. Bezeroek beren deskontuak nola kalkulatzen diren ulertu behar dute. Jatorrizko prezioa eta prezio deskontatua ikusi nahi dituzte, baita deskontuaren deskribapen labur bat ere. Zure saskian xehetasun horietakoren bat falta bada, Liquid kodea gehitu behar duzu ager daitezen.

Zure scriptak erakusleihoan duen eragina egiaztatzeko modu on bat bezero gisa sartzea da eta scripta abiarazten duten ekintzak burutzea.

Liquid-eko objektuen atributuak

Ondorengo zerrendetan daude zure dendaren saskian scriptak onartzeko normalean behar izaten diren Liquid-eko objektuen atributuak:

Saskiko objektuen atributuak:

Lerroko elementuen atributuak:

Scriptaren objektua:

  • Scriptaren objektua dendako script aktiboei buruzko informazioa itzultzeko erabil daiteke. Objektu hau erabilgarria izan daiteke scriptak araztean.

Adibidea

Hurrengo adibideak lerroko elementu baten scripta onartzeko cart.liquid txantiloian egin ditzakezun aldaketak deskribatzen ditu.

Saskiaren adibidea

Adibidez, hiru lerroko elementu dituen saski bat baduzu:

  • Futboleko baloia
    • Kopurua: 1
    • Unitateko prezioa: 15,00 $
  • Teniseko pilota
    • Kopurua: 5
    • Unitateko prezioa: 5,00 $
  • Korrika egiteko zapatila
    • Kopurua: 1
    • Unitateko prezioa: 30,00 $

Eta ondorengo deskontuak aplikatzen dituen script bat argitaratu baduzu:

  • % 10eko deskontua bi teniseko pilota edo gehiagotan
  • 5 $-eko deskontua zapatila guztietan

Orduan, cart.liquid txantiloia taula soil bat izan daiteke, lerroko elementuen zerrenda eta guztizko kopuruen laburpen bat biltzen dituena:

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

Scriptak aplikatutako deskontuekin, txantiloi honek hurrengo taula sortzen du zure saskirako:

ProduktuaKopuruaGuztira
Futboleko baloia115,00 $
Teniseko pilota522,50 $
Korrika egiteko zapatila125,00 $
Guztira62,50 $

Eguneratu lerroko elementuak

Scriptak aplikatutako deskontuak erakusteko, lerroko elementuak eguneratu behar dira hiru informazio nagusi agertzeko:

  • lerroaren prezioa deskontuen aurretik
  • lerroaren prezioa deskontuen ondoren
  • aplikatutako deskontuak deskribatzen dituen mezu bat.

Horretarako, erabili hurrengo Liquid-eko objektuen atributuak:

  • line_item.total_discount atributuak lerroko elementuari aplikatu zaion deskontu-zenbatekoa itzultzen du
  • line_item.original_line_price atributuak lerroko elementuaren prezioa itzultzen du deskontuen aurretik
  • line_item.message atributuak lerroko elementuari aplikatutako deskontuak deskribatzen dituen mezu bat itzultzen du.

Marratu-efektua erabiltzeak lagun dezake jatorrizko lerroaren prezioa eta deskontatutako lerroaren prezioa bereizten:

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

Zure saskiak orain itxura hau izan beharko luke:

ProduktuaKopuruaGuztira
Futboleko baloia115,00 $
Teniseko pilota522,50 $ 25,00 $ (% 10eko deskontua bi teniseko pilota edo gehiagotan)
Korrika egiteko zapatila125,00 $ 30,00 $ (5 $-eko deskontua zapatila guztietan)
Guztira62,50 $

Eguneratu saskiaren laburpena

Bezeroari eskaeraren prezioaren jarraipena egiten laguntzeko, hurrengoa ere erakutsi beharko zenuke:

  • saskiaren jatorrizko guztizko partziala, bezeroei deskontu aurreko eta ondorengo guztizkoak alderatzeko aukera emateko
  • bezeroak saskian lortutako aurrezki osoa.

Berriro ere, informazio hori gehitzeko, erabili hurrengo Liquid-eko objektuen atributuak:

  • cart.total_discount atributuak saskiko elementuei aplikatutako deskontu-zenbatekoa itzultzen du
  • cart.original_total_price atributuak saskiaren guztizko partziala itzultzen du deskontuen aurretik.

Informazio honekin, eguneratutako .summary blokeak itxura hau izan lezake:

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

Saskiko taulak orain itxura hau izan beharko luke:

ProduktuaKopuruaGuztira
Futboleko baloia115,00 $
Teniseko pilota522,50 $ 25,00 $ (% 10eko deskontua bi teniseko pilota edo gehiagotan)
Korrika egiteko zapatila125,00 $ 30,00 $ (5 $-eko deskontua zapatila guztietan)
Guztizko partziala70,00 $
Aurrezkia deskontuengatik7,50 $
Guztira62,50 $

Txantiloietan Liquid-eko objektu berri batzuk gehituz, bezeroei beren deskontuak nola kalkulatzen diren ulertzen lagun diezaiekezu.

Beste adibide batzuk

Ondorengo Liquid-eko adibideak lerroko elementu bakoitzaren deskontuak erakusten ditu:

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

Ikusi Liquid kodearen aldaketak barne hartzen dituen beste deskontu-adibide bat.