Actualitzar les plantilles de Liquid per a Scripts
Si executes scripts a la teva botiga en línia, hauràs de comprovar com afecten les pàgines del teu aparador. Molts temes inclouen codi per admetre els teus scripts, però n'hi ha d'altres que no. Si el teu tema no té el codi, el pots afegir.
Resolució de problemes
La majoria dels problemes amb els scripts i temes impliquen scripts de les partides que ofereixen descomptes. Per exemple, el preu total de la comanda és correcte, però els preus de les partides no mostren els descomptes. Els clients necessiten entendre com es calculen els seus descomptes. Volen veure el preu original i amb descompte, així com una breu descripció del descompte. Si falta algun d'aquests detalls al teu carretó, cal que hi afegeixis el codi de Liquid perquè apareguin.
Una bona manera de comprovar com afecta l'script al teu aparador és visitar-lo com a client i dur a terme les accions que desencadenen l'script.
Atributs dels objectes de Liquid
Les llistes següents contenen atributs dels objectes de Liquid que se solen necessitar perquè s'admetin els scripts al carretó de la teva botiga:
Atributs de l'objecte de carretó:
Atributs de la partida:
- line_item.discounts
- line_item.message
- line_item.original_price
- line_item.original_line_price
- line_item.total_discount
Objecte d'script:
- L'objecte d'script es pot utilitzar per retornar informació sobre els scripts actius d'una botiga. Aquest objecte pot ser útil a l'hora de depurar scripts.
Exemple
L'exemple següent descriu els canvis que pots fer a la teva plantilla cart.liquid perquè admeti un script de partida.
Exemple de carretó
Per exemple, si tens un carretó amb tres partides:
- Pilota de futbol
- Quantitat: 1
- Preu unitari: 15,00 $
- Pilota de tennis
- Quantitat: 5
- Preu unitari: 5,00 $
- Sabatilla de running
- Quantitat: 1
- Preu unitari: 30,00 $
I has publicat un script que aplica els descomptes següents:
- 10 % de descompte en dues o més pilotes de tennis
- 5 $ de descompte en tot el calçat
Llavors, la teva plantilla cart.liquid podria ser una taula simple amb les partides i un resum dels seus imports totals:
<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>Amb els descomptes aplicats per l'script, aquesta plantilla crea la taula següent per al teu carretó:
| Producte | Quantitat | Total |
|---|---|---|
| Pilota de futbol | 1 | 15,00 $ |
| Pilota de tennis | 5 | 22,50 $ |
| Sabatilla de running | 1 | 25,00 $ |
| Total | 62,50 $ | |
Actualitzar les partides
Per mostrar els descomptes aplicats per l'script, cal que actualitzem les partides perquè mostrin tres elements d'informació clau:
- el preu de la partida abans dels descomptes
- el preu de la partida després dels descomptes
- un missatge que descrigui els descomptes que s'han aplicat.
Per fer-ho, utilitza els atributs dels objectes de Liquid següents:
line_item.total_discountretorna l'import del descompte que s'ha aplicat a la partidaline_item.original_line_priceretorna el preu de la partida abans dels descomptesline_item.messageretorna un missatge que descriu els descomptes que s'han aplicat a la partida.
Pot ser d'ajuda diferenciar el preu original de la partida del preu amb descompte utilitzant un efecte de text ratllat:
<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>Ara el teu carretó hauria de tenir aquest aspecte:
| Producte | Quantitat | Total |
|---|---|---|
| Pilota de futbol | 1 | 15,00 $ |
| Pilota de tennis | 5 | 22,50 $ |
| Sabatilla de running | 1 | 25,00 $ |
| Total | 62,50 $ | |
Actualitzar el resum del carretó
Per ajudar el client a fer un seguiment del preu de la seva comanda, també hauries de mostrar:
- el total parcial original del carretó, per permetre als clients comparar els totals abans i després dels descomptes
- l'estalvi total que el client ha obtingut al seu carretó.
Novament, per afegir aquesta informació, utilitza els atributs dels objectes de Liquid següents:
cart.total_discountretorna l'import del descompte aplicat als articles del carretócart.original_total_priceretorna el total parcial del carretó abans dels descomptes.
Amb aquesta informació, el teu bloc .summary actualitzat podria tenir aquest aspecte:
<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>Ara la taula del teu carretó hauria de tenir aquest aspecte:
| Producte | Quantitat | Total |
|---|---|---|
| Pilota de futbol | 1 | 15,00 $ |
| Pilota de tennis | 5 | 22,50 $ |
| Sabatilla de running | 1 | 25,00 $ |
| Total parcial | 70,00 $ | |
| Estalvi en descomptes | 7,50 $ | |
| Total | 62,50 $ | |
Afegint uns quants objectes de Liquid nous a les teves plantilles, pots ajudar els teus clients a entendre com es calculen els seus descomptes.
Altres exemples
L'exemple de Liquid següent mostra els descomptes per a cada partida:
{% 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 %}Consulta un altre exemple de descompte que inclou els canvis en el codi de Liquid.