Sudeshna2 Ответов: 0

Как получить сводку корзины на странице индекса на страницу формы оформления заказа?


Я разработал корзину покупок, используя 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

Вы дадите мне правильный код для локального хранилища?

0 Ответов