Eshop - Как я могу получить товары из корзины на другой странице? - PullRequest
0 голосов
/ 26 апреля 2020

Мне нужна помощь. Я строю интернет-магазин. А в интернет-магазине у вас есть корзина, в которую пользователь может добавлять товары. Но если мне нужно получить список товаров в корзине на другую страницу, например, когда я хочу, чтобы на других HTML страницах была сделана переоценка заказа, где я хочу отобразить корзину и окончательную цену. Как мне это сделать? Спасибо за любые предложения. Вы видите, что важная часть кода:

HTML (корзина и первый товар на странице):

                            <div>
                                    <h1>Košík</h1>
                                    <hr>
                                    <div class="kosik-produkty">
                                    </div><hr>
                                    <div class="kosik-celkem">
                                        <strong class="kosik-celkem-nadpis">Celkem:</strong>
                                        <span class="kosik-celkem-cena">0,-</span><hr>
                                    </div>
                                    <button class="button-prejit-k-vyberu-doruceni" type="button">Přejít k výběru doručení</button>
                                </div>
                            </div>
                    </header>

                    <section>
                        <div class="eshop-produkty">
                            <div class="eshop-produkt">
                                <span class="eshop-nazev-produktu"><p><strong>"18 93"</strong></p></span>
                                    <img class="eshop-fotka-produktu" src="Produkty/Samolepka_1.jpg" height='250px' width='280px'>
                                    <div class="eshop-detaily-produktu">
                                        <span class="eshop-cena-produktu">10,-</span>
                                        <button class="button-pridat-produkt-do-kosiku" type="button">Přidat do košíku</button>
                                    </div>
                            </div>

Javascript (добавление в корзину + обновление окончательной цены):

function pridejPoKliknutiDoKosiku(event) {
var button = event.target
var produkt = button.parentElement.parentElement
var nazevProduktu = produkt.getElementsByClassName('eshop-nazev-produktu')[0].innerText
var cena = produkt.getElementsByClassName('eshop-cena-produktu')[0].innerText
var zdrojObrazku = produkt.getElementsByClassName('eshop-fotka-produktu')[0].src
pridejProduktDoKosiku(nazevProduktu, cena, zdrojObrazku)
updateCelkoveCeny()
 }

 function pridejProduktDoKosiku(nazevProduktu, cena, zdrojObrazku) {
var radekKosik = document.createElement('div')
radekKosik.classList.add('kosik-radek')
var kosikProdukty = document.getElementsByClassName('kosik-produkty')[0]
var NazvyProduktu = kosikProdukty.getElementsByClassName('kosik-nazev-produktu')
for (var i = 0; i < NazvyProduktu.length; i++) {
    if (NazvyProduktu[i].innerText == nazevProduktu) {
        alert("Tento produkt je již obsažen v košíku.")
        return
    }
}
var radekKosikKontent = `
        <div class="kosik-produktu kosik-sloupec">
            <img class="kosik-fotka-produktu" src="${zdrojObrazku}" width="112" height="100"><br>
            <span class="kosik-nazev-produktu">${nazevProduktu}</span>
        </div>
        <span class="kosik-cena kosik-sloupec">${cena}</span>
        <div class="kosik-pocet kosik-sloupec">
            <input class="kosik-pocet-input" type="number" value="1" min="1">
            <button class="button-remove" type="button">Odstranit</button>
        </div><br>`
radekKosik.innerHTML = radekKosikKontent
kosikProdukty.append(radekKosik)
radekKosik.getElementsByClassName("button-remove")[0].addEventListener('click', odstranitProduktyVKosiku)
radekKosik.getElementsByClassName('kosik-pocet-input')[0].addEventListener('change', pocetZmenen)
 }

 function updateCelkoveCeny() {
var produktyKosikContainer = document.getElementsByClassName('kosik-produkty')[0]
var radkyKosik = produktyKosikContainer.getElementsByClassName('kosik-radek')
var celkovaCena = 0
for (var i = 0; i < radkyKosik.length; i++) {
    var radekKosik = radkyKosik[i]
    var cenaElement = radekKosik.getElementsByClassName('kosik-cena')[0]
    var pocetElement = radekKosik.getElementsByClassName('kosik-pocet-input')[0]
    var cena = parseFloat(cenaElement.innerText.replace(',-', ''))
    var pocet = pocetElement.value
    celkovaCena = celkovaCena + (cena * pocet)
}
document.getElementsByClassName('kosik-celkem-cena')[0].innerText = celkovaCena + ",-"

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...