Shopify Theme Development |Создание ссылки «повторный заказ» для предыдущих заказов |Невозможно объединить несколько ID: количество строк запроса - PullRequest
0 голосов
/ 24 сентября 2019

Я использую Shopify и создаю кнопку повторного заказа в файле с именем order.liquid.

, пытаясь создать кнопку повторного заказа, у меня был умеренный уровень успеха.

Скрипт, который я прилагаю, действительно добавляет товары в корзину, которые были заказаны ранее.Тем не менее, я попытался без добавления количества (просто добавляет 1 из каждого).Без [] после & количество ЗДЕСЬ = (просто добавляет два из каждого, даже если ранее был куплен только один предмет).

Вот код, который создает мой наполовину работающий URL:

{% assign line_items_string = '/cart/' %}
{% for line_item in order.line_items %}

    {% if forloop.first == true %}

        {% assign line_items_string = line_items_string | append: 'add?id[]=' %}
        {% assign line_items_string = line_items_string | append: line_item.variant_id %}
        {% assign line_items_string = line_items_string | append: '&quantity[]=' %}
        {% assign line_items_string = line_items_string | append: line_item.quantity %}

    {% else %}

        {% assign line_items_string = line_items_string | append: '&id[]=' %}
        {% assign line_items_string = line_items_string | append: line_item.variant_id %}
        {% assign line_items_string = line_items_string | append: '&quantity[]=' %}
        {% assign line_items_string = line_items_string | append: line_item.quantity %}

    {% endif %}

{% endfor %}

<a href="{{ line_items_string }}" class="reorder-link">Re-order</a>

Я не могу заставить его добавить правильное количество элементов для каждой позиции, даже если URL-адрес кажется правильным:

/cart/add?id[]=16220586868785&quantity[]=3&id[]=16220587360305&quantity[]=6&id[]=16220587622449&quantity[]=4&id[]=16221376479281&quantity[]=11&id[]=16221376348209&quantity[]=2&id[]=16221063938097&quantity[]=1&id[]=16221393682481&quantity[]=2

Факт, что строка заканчивается количеством 2 и будетзатем добавьте 2 к каждому элементу, предлагая использовать только последнюю декларацию количества при работе со ссылкой.Поэтому должен существовать разделитель, который можно использовать для различения позиций.

Может кто-нибудь сказать мне, что такое разделитель, который будет проходить между каждой строкой в ​​дополнение к строке запроса, пожалуйста?Что происходит после

add?id[]=16220586868785&quantity[]=3**HERE**

Я пытался использовать a, но по общему признанию это выглядит неуместно, за которым следует &.

EDIT: , чтобы помочь описатьдалее, что я пробовал.

Я могу использовать идентификатор формата: количество, если я:

1) хочу перейти прямо к оформлению заказа, формат: ID: количество, ID: количество.. так далее.

2) хотите добавить в корзину только один товар определенного количества, используя команду add? ID: Количество.

Мне нужно знать, как объединить несколькотолько добавить в корзину.Я не знаю разделитель (это запятая при нажатии прямо на кассе).

Любая помощь приветствуется!Джейсон.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2019

Я хотел бы рассмотреть реализацию этого с помощью jquery или javascript.Вы можете создать сообщение ajax, используя вызов cart/add.js, описанный здесь: https://help.shopify.com/en/themes/development/getting-started/using-ajax-api#add-to-cart

0 голосов
/ 24 сентября 2019

Использование постоянных ссылок для повторного заказа вещей всегда ID: количество.Вы пробовали это?

...