Сценарии Shopify - Новая позиция - PullRequest
0 голосов
/ 08 февраля 2019

Я хотел бы добавить новый продукт (позицию) через скрипты Shopify, когда пользователь использует код скидки.Возможно ли это?

if Input.cart.discount_code && Input.cart.discount_code.code == "first10"
    Input.cart.line_items << LineItem.new(variant: 24665166184512, quantity: 10, source_indices:false,grams: 0, properties_was:false, properties:false, line_price_was:false, line_price:50, original_line_price:50, discounts:0, adjustments:nil)
end

Output.cart = Input.cart

И у меня ошибка:

[Error] undefined method 'id' for 24665166184512 shopify/std_lib_mutable/core/resources/line_item.rb:164:in LineItem.to_hash shopify/std_lib_mutable/core/resources/cart.rb:43:in Cart.to_hash shopify/std_lib_mutable/cart_line_items/output.rb:4:in #<Class:0x7f85471e6280>.to_hash shopify/std_lib_mutable/cart_line_items/output.rb:4:in #<Class:0x7f85471e6280>.to_hash shopify/std_lib_mutable/core/script_kernel.rb:12:in Object.prepare_output (prepare_output):1

1 Ответ

0 голосов
/ 21 марта 2019

К сожалению, вы не можете добавлять товары в корзину, используя Shopify Cart Scripts.

Сценарии корзины могут видеть и обрабатывать только те элементы, которые уже присутствуют в корзине.

Как указано в комментариях, вы можете удалить элемент, поскольку он уже существует в корзине.

Мой совет - использовать любой из этих методов.

1) коды скидок, которые, когда кто-то что-то покупает, получают другой продукт по определенной цене или бесплатно.

2)создайте сценарий Ajax API, который при добавлении товара в корзину проверяет, какие товары находятся в корзине, и, если товар найден, добавляет бесплатный товар или товар со скидкой в ​​корзину.

https://help.shopify.com/en/themes/development/getting-started/using-ajax-api

3) (ОПЛАТА ВАРИАНТОВ), чтобы посмотреть на рынке приложений, и вы можете найти несколько различных приложений, которые помогут вам в этом.Похоже, это поможет?https://apps.shopify.com/special-offers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...