Как добавить второй товар в корзину в Shopify со страницы товара - PullRequest
0 голосов
/ 04 мая 2020

Я использую 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 Ответ

0 голосов
/ 05 мая 2020

Не похоже, что ваш код предназначен для использования на странице продукта. Похоже, что он должен быть размещен на странице корзины в пределах {% for item in cart.items %} ... {% endfor %} l oop.

Кроме того, этот код добавит только 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>

Надеюсь, вышеприведенное имеет смысл.

...