Я работаю в сфере электронной коммерции разработчиком с 6 лет. Я работал с сотнями магазинов и заметил одну вещь: перепродажи и перекрестные продажи играют важную роль в повышении конверсии. Будь то Magento, Shopify или любая другая CMS, они очень важны для каждого магазина.
Итак, в этой статье я объясню вам, как показать UpSell или Cross-sell в корзине для магазина Shopify без какого-либо приложения с помощью всего лишь одного файла с жидкостью и кода JavaScript. Теперь вам не нужно платить ни за какие приложения. Это очень просто, и вы можете создать это самостоятельно. Это также будет работать с любой темой Shopify.
Приступим 🎉
Внимание ⚠️
Я использую библиотеку JavaScript Cartjs.org для добавления товаров в корзину, она очень мощная и быстрая, что упрощает работу с событиями корзины.
Но вы можете использовать любую Для этого нам просто нужно получить идентификатор продукта и вызвать функцию Добавить в корзину.
Давайте создадим один сниппет, который мы сможем использовать где угодно, чтобы показывать перекрестные продажи или дополнительные продажи. Назовем его upsell.liquid.
- Мы создаем одну коллекцию в админке Shopify для дополнительных / перекрестных продаж товаров. (допродажи).
- Затем мы получим эту конкретную коллекцию по имени с помощью жидкого фрагмента кода, как описано ниже.
- нам нужно добавить этот фрагмент в корзину.
{% comment %} Create liquid variable for collection {% endcomment %} {% assign upsellCollection = 'upsell-products' %} <div class="c-upsell js-upsell"> {% comment %} Use Product ID as Data Attribute which we will use for Add to Cart Event {% endcomment %} {% for product in collections[upsellCollection].products %} <div class="c-upsell__product js-product" data-product-id="{{ product.id}}"> <div class="c-upsell__productImage"> {% comment %} Fetch Product Images{% endcomment %} {% for image in product.images %} <img class="c-upsell__innerImage" src="{{ image | img_url: '586x' }}" alt="Product Img" /> {% endfor %} </div> {% comment %} Fetch Product title & Price {% endcomment %} <h2 class="c-upsell__productTitle">{{ product.title }} </h2> <p class="c-upsell__productPrice"> {{ product.price }}</p> {% comment %} Add to Cart Button {% endcomment %} <a href="#" class="c-upsell__atc js-atc">Add to Cart</a> </div> {% endfor %} </div> {% comment %} Now we're done with Liquid code and collection will be appeared on where we add it {% endcomment %}
Теперь нам нужно написать немного JavaScript для добавления в корзину. Мы будем использовать cartjs.org (как упоминалось выше), чтобы это произошло.
В JavaScript мы выполняем следующие события
- Получение идентификатора продукта из атрибута [data-product-id].
- Отправляем это в массив [upsellProductArr].
- Использование API Cartjs.org для добавления товара в корзину. Вы можете узнать больше об API здесь https://cartjs.org/pages/reference
function upsellProduct () { // Create an empty Array in which we'll be pushing our product ID const upsellProductArr = []; //get the Product ID from Attribute const productID = document.querySelector('.js-product').getAttribute('data-product-id'); // Now push this product ID to Array upsellProductArr.push(productID); // Console.log to check you're pushing correct ID into array console.log(upsellProductArr); } // Let's Find our ATC button const button = document.querySelector('.js-atc'); // Now Add click event use our Array to add to cart the Product button.addEventListener('click', event => { upsellProduct (); // This is CartJS API - Attaching link for reference CartJS.addItem(upsellProductArr[0], quantity = 1 ); }); // Done
Эта функция очень полезна для улучшения преобразования, а сам метод очень прост. Вы можете настроить это в соответствии с вашими требованиями, например, добавить ползунок в продукты.
Если вам это нравится, аплодируйте мне и поделитесь этим со своими коллегами.
Следуйте за мной в
Instagram: https://www.instagram.com/miniscript/
Github: https://github.com/iminiscript
Twitter: https: / /twitter.com/iminiscript
Сделано с любовью ❤️
@miniScript
Технический руководитель Anatta