Как мне переместить встроенный javascript из html-компонента в отдельный файл js, чтобы его можно было связывать и минимизировать?
Я редактирую BigCommerce и последнюю тему Cornerstone.
компонент представляет собой кнопку, которая добавляет 3 товара в корзину, отправив POST-запрос к API-интерфейсу магазина (он работает как задумано, мне просто нужно правильно переместить его в связке)
<script>
let lineItems = {
"lineItems": [
{
"quantity": 1,
"productId": 103
},
{
"quantity": 1,
"productId": 81
},
{
"quantity": 1,
"productId": 77,
"variantId": 11
}
]
};
function postData(url = ``, cartItems = {}) {
return fetch(url, {
method: "POST",
credentials: "same-origin",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(cartItems),
}).then(function (response) {
redirectToCart();
});
}
function redirectToCart() {
window.location = "/cart.php";
}
function showLoadingOverlay() {
document.getElementsByClassName("loadingOverlay").forEach(x => x.style.display = "block");
}
function addBundleToCart() {
let cartID = "{{cart_id}}"
let url = `/api/storefront/cart`;
if (cartID.length > 0) {
// cart wasn't empty, update url
showLoadingOverlay();
url = `/api/storefront/carts/${cartID}/items`
}
postData(url, lineItems)
.then(data => console.log(JSON.stringify(data)))
.catch(error => console.error(error));
}
</script>
<button type="button" style="margin:0 auto;display:table; padding:20px; font-size: 1.5em; font-weight: bold; border: 3px solid rgba(128, 128, 128, 0.164)"
onclick="addBundleToCart()" id="addToCart">ADD BUNDLE TO CART</button>
Iчитаю документацию и не очень понятно что делать. Я должен создать собственный шаблон, чтобы это работало? (Бренд, Категория, Страница, Продукт)