Как добавить второй товар в корзину в Shopify со страницы товара
Я использую Shopify и пытаюсь добавить опции для добавления подарочной упаковки и сумки для переноски к покупаемым товарам.
Я могу использовать item.properties
спросить пользователя о выборе и показать, что в корзине.
Теперь я хочу добавить в корзину дополнительный товар, если item.properties
установлен на "подарочную упаковку" или "футляр для переноски".
Этот код помещен в product-template.liquid, но не работает:
{% for property in item.properties %}
{% if property.last == "Gift Wrap" %}
<p>This would add gift wrap.</p>
<script>
jQuery.post('/cart/update.js', {
updates: {
32005672697928: 1
}
});
</script>
{% endif %}
{% if property.last == "Carry Strap" %}
<p>This would add carry strap.</p>
{% endif %}
{% endfor %}
{% endunless %}
1 ответ
Не похоже, что ваш код был предназначен для использования на странице продукта. Похоже, его нужно разместить на странице корзины внутри{% for item in cart.items %} ... {% endfor %}
петля.
Кроме того, этот код добавит только 1 упакованный продукт, даже если клиенты добавят 2+ упакованных продукта. Я бы изменил код на что-то вроде следующего:
{%- assign numWrappedItems = 0 -%}
{%- for item in cart.items -%}
{%- for property in item.properties -%}
{%- if property.last == "Gift Wrap" -%}
{%- assign numWrappedItems = numWrappedItems | plus: item.quantity -%}
{%- break -%}
{%- endif -%}
{%- endfor -%}
...
{%- endfor -%}
{%- if numWrappedItems > 0 -%}
<script>
jQuery.post('/cart/update.js', {
updates: {
32005672697928: {{ numWrappedItems }}
}
});
</script>
Надеюсь, сказанное выше имеет смысл.