Создание надстройки с помощью кнопки покупки Shopify
Я использую кнопку «Купить» Shopify на своей странице, и я очень доволен ею, но мне нужно добавить возможность создавать «добавление товара», то есть, когда покупатель нажимает на сведения о продукте на элементе, который предлагает возможность чтобы добавить к нему элемент.
Очень похоже на этот плагин: https://spice-addons-demo.myshopify.com/collections/frontpage/products/the-sg-gems-necklace (я уже пытался его реализовать, не повезло)
Как это сделать с помощью кнопки «Купить»? (Документация здесь: http://shopify.github.io/buy-button-js/ , я пытался изменить ее, но мне не очень повезло)
Вот мой код:
/*<![CDATA[*/
(function () {
var scriptURL = 'js/buy-button-storefront.min.js';
if (window.ShopifyBuy) {
if (window.ShopifyBuy.UI) {
ShopifyBuyInit();
} else {
loadScript();
}
} else {
loadScript();
}
function loadScript() {
var script = document.createElement('script');
script.async = true;
script.src = scriptURL;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
script.onload = ShopifyBuyInit;
}
function ShopifyBuyInit() {
var client = ShopifyBuy.buildClient({
domain: 'xxx',
storefrontAccessToken: 'xxx',
});
ShopifyBuy.UI.onReady(client).then(function (ui) {
ui.createComponent('collection', {
id: '230096961724',
node: document.getElementById('xxx'),
moneyFormat: '%24%7B%7Bamount%7D%7D',
options: {
"product": {
"styles": {
"product": {
"@media (min-width: 601px)": {
"max-width": "calc(33.33333% - 30px)",
"margin-left": "30px",
"margin-bottom": "50px",
"width": "calc(33.33333% - 30px)"
},
"img": {
"height": "calc(100% - 15px)",
"position": "absolute",
"left": "0",
"right": "0",
"top": "0"
},
"imgWrapper": {
"padding-top": "calc(75% + 15px)",
"position": "relative",
"height": "0"
}
},
"button": {
"font-weight": "bold",
"font-size": "18px",
"padding-top": "17px",
"padding-bottom": "17px",
":hover": {
"background-color": "#8b1a23"
},
"background-color": "#ca0027",
":focus": {
"background-color": "#8b1a23"
},
"border-radius": "7px",
"padding-left": "100px",
"padding-right": "100px"
},
"quantityInput": {
"font-size": "18px",
"padding-top": "17px",
"padding-bottom": "17px"
}
},
"buttonDestination": "modal",
"contents": {
"options": false
},
"text": {
"button": "View product"
}
},
"productSet": {
"styles": {
"products": {
"@media (min-width: 601px)": {
"margin-left": "-30px"
}
}
}
},
"modalProduct": {
"contents": {
"img": false,
"imgWithCarousel": true,
"button": false,
"buttonWithQuantity": true
},
"styles": {
"product": {
"@media (min-width: 601px)": {
"max-width": "100%",
"margin-left": "0px",
"margin-bottom": "0px"
}
},
"button": {
"font-weight": "bold",
"font-size": "18px",
"padding-top": "17px",
"padding-bottom": "17px",
":hover": {
"background-color": "#8b1a23"
},
"background-color": "#ca0027",
":focus": {
"background-color": "#8b1a23"
},
"border-radius": "7px",
"padding-left": "100px",
"padding-right": "100px"
},
"quantityInput": {
"font-size": "18px",
"padding-top": "17px",
"padding-bottom": "17px"
}
},
"text": {
"button": "Add to cart"
}
},
"cart": {
"styles": {
"button": {
"font-weight": "bold",
"font-size": "18px",
"padding-top": "17px",
"padding-bottom": "17px",
":hover": {
"background-color": "#8b1a23"
},
"background-color": "#ca0027",
":focus": {
"background-color": "#8b1a23"
},
"border-radius": "7px"
}
},
"text": {
"total": "Subtotal",
"button": "Checkout"
},
"popup": false
},
"toggle": {
"styles": {
"toggle": {
"font-weight": "bold",
"background-color": "#ca0027",
":hover": {
"background-color": "#8b1a23"
},
":focus": {
"background-color": "#8b1a23"
}
},
"count": {
"font-size": "18px"
}
}
}
},
});
});
}
})();
/*]]>*/
1 ответ
Кнопка покупки не настраивается. Он представляет собой единственный вариант, который может купить ваш клиент. Таким образом, вы не можете добавлять в него другие продукты. Вы можете объединить эти дополнения в новый целостный продукт, а затем продавать его с помощью кнопки, но тогда ваша библиотека кнопок станет больше, и, возможно, эта идея также разрушит ваше управление запасами, так что готово.
Единственный реальный выход - использовать StorefrontAPI и несколько пользовательских JS для создания собственной кнопки, которая управляет более чем одним продуктом. При этом вы можете создать кнопку, которая отправляет покупателя на кассу с одним продуктом и, возможно, с дополнительным связанным.