Как получить сводку корзины на странице индекса на страницу формы оформления заказа?
Я разработал корзину покупок, используя javascript. После того, как я нажал на значок корзины, я получаю сводку продуктов, добавленных в корзину. В этом всплывающем окне есть кнопка Checkout. После нажатия кнопки Оформить заказ откроется страница формы оформления заказа.
Я хочу получить сводку корзины на странице оформления заказа. ПЛ. подскажите код JavaScript, чтобы получить краткую корзину, которая находится на индексной страницы на страницу оплаты форма. Я использовал следующий код для myCart:
Что я уже пробовал:
$('.my-cart-btn').myCart({ currencySymbol: '$', classCartIcon: 'my-cart-icon', classCartBadge: 'my-cart-badge', classProductQuantity: 'my-product-quantity', classProductRemove: 'my-product-remove', classCheckoutCart: 'my-cart-checkout', affixCartIcon: true, showCheckoutModal: true, numberOfDecimals: 2, cartItems: [ {id: 1, name: 'product 1', summary: 'summary 1', price: 10, quantity: 1, image: 'images/img_1.png'}, {id: 2, name: 'product 2', summary: 'summary 2', price: 20, quantity: 2, image: 'images/img_2.png'}, {id: 3, name: 'product 3', summary: 'summary 3', price: 30, quantity: 1, image: 'images/img_3.png'} ], clickOnAddToCart: function($addTocart){ goToCartIcon($addTocart); }, afterAddOnCart: function(products, totalPrice, totalQuantity) { console.log("afterAddOnCart", products, totalPrice, totalQuantity); }, clickOnCartIcon: function($cartIcon, products, totalPrice, totalQuantity) { console.log("cart icon clicked", $cartIcon, products, totalPrice, totalQuantity); }, myCartItem:function(products, totalPrice, totalQuantity){ console.log("getAllCartProducts",products, totalPrice, totalQuantity) }, checkoutCart: function visitPage(){ window.location='Checkout_Form.html' }, getDiscountPrice: function(products, totalPrice, totalQuantity) { console.log("calculating discount", products, totalPrice, totalQuantity); return totalPrice * 0.5; } }); $("#addNewProduct").click(function(event) { var currentElementNo = $(".row").children().length + 1; $(".row").append('<div class="col-md-3 text-center"><img src="images/img_empty.png" width="150px" height="150px"><br>product ' + currentElementNo + ' - $' + currentElementNo + '<br><button class="btn btn-danger my-cart-btn" data-id="' + currentElementNo + '" data-name="product ' + currentElementNo + '" data-summary="summary ' + currentElementNo + '" data-price="' + currentElementNo + '" data-quantity="1" data-image="images/img_empty.png">Add to Cart</button><a href="#" class="btn btn-info">Details</a></div>') }); }); </script> <button onclick="window.location='Checkout_Form.html';">Checkout</button>
ZurdoDev
Как мы можем дать вам код для работы с кодом, который у вас уже есть?
F-ES Sitecore
Традиционно вы сохраняете данные корзины somehow...in файлы cookie или локальное хранилище. Таким образом, любая страница, которая нуждается в данных корзины, будет просто считывать их с того места, где вы их сохранили.
Sudeshna2
У меня есть следующий код для локального хранилища:
// Проверьте поддержку браузера
if (typeof(Storage) !== "undefined") {
// Магазин
localStorage.setItem("фамилия", "Смит");
// Извлекать
документ.метода getElementById("результат").innerHTML будет = хранилище localStorage.метод getitem("фамилия");
} еще {
document.getElementById("result").innerHTML = "Извините, ваш браузер не поддерживает веб-хранилище...";
}
Должен ли я хранить детали всех моих продуктов, таких как "фамилия" и "Смит" ? У меня есть 10 000 продуктов.
Например добавить строку новых продуктов
$("#addNewProduct").click(функция(событие) {
var currentElementNo = $(".row").children().length + 1;
$(".row").append('product' + currentElementNo + ' - $' + currentElementNo + 'добавить в корзинуПодробности')
Могу ли я динамически хранить продукты в локальном хранилище и получать их на странице формы оформления заказа?
Richard Deeming
Хранить все данные корзины на клиенте - не очень хорошая идея. Любой пользователь с рабочим знанием инструментов разработчика браузера может войти и отредактировать эти данные, так что будьте готовы поставлять дорогие продукты бесплатно!
И прежде чем вы спросите: нет, вы не можете отключить инструменты разработчика.
Хранение идентификатора продукта и количества на клиенте может сработать. Но другие детали продуктов - в частности, цена - должны поступать с сервера.
Sudeshna2
Вы дадите мне правильный код для локального хранилища?