Это перенаправляет на страницу корзины, потому что именно так определяется значение действия формы.Поэтому, если вы хотите добавить его без перенаправления и перезагрузки страницы, используйте Shopify AJAX API, который позволяет вам управлять операциями CRUD с корзиной. Shopify AJAX API .
В приведенном выше сценарии вам нужно взглянуть на Добавить в корзину функциональность.
Публиковать данные
{
quantity: 2,
id: 794864229
}
Пример кода
// Send a seralized form
jQuery.post('/cart/add.js', $('form[action="/cart/add"]').serialize());
// or construct post data
jQuery.post('/cart/add.js', {
quantity: 1,
id: 794864229,
properties: {
'First name': 'Caroline'
}
});
Другой подход, который немного прост в реализации, - это использование CartJS
Таким образом, используя API данных, это простоbe
<button data-cart-add="12345678">Add Product</button>
Пример реализации в теме Timber Shopify
в theme.liquid после timber.js загрузить CartJS
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/cart.min.js"></script>
Затем, ниже, в функции готовности jQuery, инициализируйте CartJS
CartJS.init({{ cart | json }}, {
"dataAPI": true
});
Добавьте этот код в product-grid-item.liquid
<button data-cart-add="{{ product.variants.first.id }}">Add Product</button>
Это работает над моей тестовой установкой темы Timber.