Я пытаюсь добавить кнопку изменения порядка на страницах истории заказов моего клиента, чтобы автоматически изменить порядок уже приобретенных товаров.Это отправит их обратно в корзину с уже заполненными товарами и готовыми к оформлению заказа.К каждому товару присваиваются особые свойства.Кажется, все работает нормально, за исключением того, что когда я добавляю элементы обратно в корзину, я не могу получить свойства настраиваемых позиций для отображения .
Я использую фрагмент order-to-cart.liquid .
В строке 18 кажется, что пользовательские свойства вызываются:
properties: {{ line_item.properties | json }}
Я пытался изменить код, чтобы добавить их:
request.send(JSON.stringify({
'quantity':order.items[0].quantity,
'id':order.items[0].variant_id,
'properties':order.items[0].properties
}));
Ноэто не работает.
На основании приведенного ниже комментария я попытался перебрать свойства элемента:
request.send(JSON.stringify({
'quantity':order.items[0].quantity,
'id':order.items[0].variant_id,
'properties': {
{% for line_item in order.line_items %}
{% for property in line_item.properties %}
'{{ property.first }}': '{{ property.last }}'{% unless forloop.last %},{% endunless %}
{% endfor %}
{% endfor %}
}
}));
Но я получаю синтаксическую ошибку:
SyntaxError: missing } after property list
note: { opened at line 403, column 26
Который, кажется, ссылается на список свойств request.send
. Пример json:
/* Setup the order object. Extend this as needed. */
var order = {
items:[
{
variant_id: 16320547225634,
product_id: 1782978904098,
properties: [["Arrangement Type",""],["Enclosed Card",""],["Occasion \u0026amp; Comments","Condolescens"],["Delivery Date","Mar 29, 2019"]],
available: true
},
{
variant_id: null,
product_id: 1776316743714,
properties: [["Arrangement Type",""],["Enclosed Card",""],["Occasion \u0026amp; Comments",""],["Delivery Date","Mar 24, 2019"]],
available: null
},
{
variant_id: 16319970017314,
product_id: 1782916808738,
properties: [["Arrangement Type","Seasonal"],["Enclosed Card","Love and best wishes"],["Occasion \u0026amp; Comments","Just Because"],["Delivery Date","Mar 25, 2019"]],
available: true
},
{
variant_id: 16311468687394,
product_id: 1780877819938,
properties: [["Arrangement Type","Large vase with orchids"],["Enclosed Card","Steal the warm chair right after you get up when owners are asleep, cry for no apparent reason sleeps on my head."],["Occasion \u0026amp; Comments","Birthday so make extra special!"],["Delivery Date","Apr 10, 2019"]],
available: true
}
]
};
request.send(JSON.stringify({
'quantity':order.items[0].quantity,
'id':order.items[0].variant_id,
'properties': {
'Arrangement Type': '',
'Enclosed Card': '',
'Occasion & Comments': 'Condolescens',
'Delivery Date': 'Mar 29, 2019'
'Arrangement Type': '',
'Enclosed Card': '',
'Occasion & Comments': '',
'Delivery Date': 'Mar 24, 2019'
'Arrangement Type': 'Seasonal',
'Enclosed Card': 'Love and best wishes',
'Occasion & Comments': 'Just Because',
'Delivery Date': 'Mar 25, 2019'
'Arrangement Type': 'Large vase with orchids',
'Enclosed Card': 'Steal the warm chair right after you get up when owners are asleep, cry for no apparent reason sleeps on my head.',
'Occasion & Comments': 'Birthday so make extra special!',
'Delivery Date': 'Apr 10, 2019'
}
}));
Мой cart.liquid
файл вызывает пользовательские свойства, например:
{% if property_size > 0 %}
{% for p in item.properties %}
{% assign first_character_in_key = p.first | truncate: 1, '' %}
{% unless p.last == blank or first_character_in_key == '_' %}
<div class="label-info">{{ p.first }}:
<strong class="input-info">{{ p.last }}</strong>
</div>
{% endunless %}
{% endfor %}
{% endif %}
Но я не уверен, что мне нужно изменить это, чтобы приспособиться к любым уже созданным свойствам.
Свойства пользовательских позиций должны отображаться при добавлении обратно в корзину, в противном случае функция переупорядочения победит 'Это действительно сэкономит время, так как заставит клиентов вернуться на каждую страницу продукта, чтобы заново добавить информацию в настраиваемые поля.
Я не настолько разбираюсь в жидкости, поэтому не совсем уверен, что нужносделано, чтобы изменить шаблоны сниппета или корзины.Буду признателен за любую помощь, которую вы можете оказать!
Большое спасибо, Марк