Oppdatere Liquid-malene for Scripts
Hvis du kjører skript i nettbutikken din, må du sjekke hvordan de påvirker sidene i utstillingsvinduet. Mange temaer har kode for å støtte skriptene dine, men noen har det ikke. Hvis temaet ditt ikke har koden, kan du legge den til.
Feilsøking
De fleste problemer med skript og temaer involverer skript for poster som gir rabatter. For eksempel kan totalprisen for bestillingen være riktig, men postprisene viser ikke rabattene. Kundene må forstå hvordan rabattene deres beregnes. De vil se den opprinnelige prisen og prisen med rabatt, samt en kort beskrivelse av rabatten. Hvis noen av disse detaljene mangler i handlekurven, må du legge til Liquid-koden slik at de vises.
En god måte å sjekke hvordan skriptet påvirker utstillingsvinduet på, er å besøke det som kunde og utføre handlingene som utløser skriptet.
Liquid-objektattributter
Følgende lister inneholder Liquid-objektattributter som ofte er nødvendige for å støtte skript i butikkens handlekurv:
Handlekurv-objektattributter:
Post-attributter:
- line_item.discounts
- line_item.message
- line_item.original_price
- line_item.original_line_price
- line_item.total_discount
Skriptobjekt:
- Skriptobjektet kan brukes til å returnere informasjon om en butikks aktive skript. Dette objektet kan være nyttig ved feilsøking av skript.
Eksempel
Følgende eksempel beskriver endringene du kan gjøre i cart.liquid-malen din for å støtte et skript for en post.
Eksempelhandlekurv
Hvis du for eksempel har en handlekurv med tre poster:
- Fotball
- Antall: 1
- Enhetspris: 15,00 $
- Tennisball
- Antall: 5
- Enhetspris: 5,00 $
- Løpesko
- Antall: 1
- Enhetspris: 30,00 $
Og du har publisert et skript som bruker følgende rabatter:
- 10 % rabatt på to eller flere tennisballer
- 5 $ i rabatt på alle sko
Da kan cart.liquid-malen din være en enkel tabell som viser postene og et sammendrag av totalbeløpene:
<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>Med rabattene fra skriptet oppretter denne malen følgende tabell for handlekurven din:
| Produkt | Antall | Totalt |
|---|---|---|
| Fotball | 1 | 15,00 $ |
| Tennisball | 5 | 22,50 $ |
| Løpesko | 1 | 25,00 $ |
| Totalt | 62,50 $ | |
Oppdater postene
For å vise rabattene som skriptet har lagt til, må vi oppdatere postene for å vise tre viktige opplysninger:
- postprisen før rabatter
- postprisen etter rabatter
- en melding som beskriver rabattene som ble lagt til.
For å gjøre dette, bruker du følgende Liquid-objektattributter:
line_item.total_discountreturnerer rabattbeløpet som er lagt til for postenline_item.original_line_pricereturnerer postprisen før rabatterline_item.messagereturnerer en melding som beskriver rabattene som er lagt til for posten.
Det kan være lurt å skille den opprinnelige postprisen fra den rabatterte postprisen ved hjelp av en gjennomstreking:
<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>Handlekurven din bør nå se slik ut:
| Produkt | Antall | Totalt |
|---|---|---|
| Fotball | 1 | 15,00 $ |
| Tennisball | 5 | 22,50 $ |
| Løpesko | 1 | 25,00 $ |
| Totalt | 62,50 $ | |
Oppdater sammendraget for handlekurven
For å hjelpe kunden med å holde oversikt over bestillingsprisen, bør du også vise:
- den opprinnelige delsummen for handlekurven, slik at kundene kan sammenligne totalbeløpene før og etter rabatt
- de totale besparelsene kunden har fått i handlekurven.
For å legge til denne informasjonen, bruker du igjen følgende Liquid-objektattributter:
cart.total_discountreturnerer rabattbeløpet som er lagt til for varer i handlekurvencart.original_total_pricereturnerer delsummen for handlekurven før rabatter.
Med denne informasjonen kan den oppdaterte .summary-blokken din se slik ut:
<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>Handlekurvtabellen din skal nå se slik ut:
| Produkt | Antall | Totalt |
|---|---|---|
| Fotball | 1 | 15,00 $ |
| Tennisball | 5 | 22,50 $ |
| Løpesko | 1 | 25,00 $ |
| Delsum | 70,00 $ | |
| Rabatt | 7,50 $ | |
| Totalt | 62,50 $ | |
Ved å legge til noen nye Liquid-objekter i malene dine, kan du hjelpe kundene med å forstå hvordan rabattene deres beregnes.
Andre eksempler
Følgende Liquid-eksempel viser rabattene for hver post:
{% 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 %}Se et annet rabatteksempel som inkluderer Liquid-kodeendringene.