@serg_marinkov

Как вывести корзину в нескольких местах на сайте?

Есть сайт небольшого интернет магазина. На этом сайте нужно вывести корзину в трех местах.
Для реализации корзины использовал скрипт Wicart. Страница с описанием скрипта Wicart
Все установил по инструкции. Отличие только в том что код корзины вставил в трех нужных местах на сайте.
В итоге когда добавляю товар в корзину то товар добавляется только в одну корзину, а нужно что бы во все три.
Подскажите как это исправить?
Скрипт добавления товара в корзину.
<script>
var cart;
var config;
var wiNumInputPrefID;

$(document).ready(function(){  
 
    cart = new WICard("cart");
    cart.init("basketwidjet", config);
    
    
});    
document.addEventListener('visibilitychange', function(e) {
cart.init("basketwidjet", config);
}, false);
</script>


Виджет корзины:
<div class="cart">
<div class="price"><a href="#" id="basketwidjet" onclick="cart.showWinow('bcontainer', 1)"></a></div>
</div>


Кнопка покупки
<button id="wicartbutton_001" onclick="cart.addToCart(this, '001', priceList['001'])">Купить</button>
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Snow311
В вашем скрипте корзины найдите строчку:
this.widjetObj = $("#" + widjetID);
// Измените на это
this.widjetObj = $("." + widjetID);


В html вместо id установите class="basketwidjet" :
<div class="cart">
    <div class="price"><a href="#" class="basketwidjet" onclick="cart.showWinow('bcontainer', 1)"></a></div>


Если кратко: логику корзины не трогаем, но заставляем выводить одинаковый html в несколько корзин, а не одну.

Саму логику корзины вы не правите, но изменением строки в js в widjetObj сохраняется не 1 блок c корзиной по id, a массив блоков (корзины). Т.к. используется jQuery, то конструкция вида widjetObj.html() будет обегать все корзины и в каждую рендрить одинаковое содержимое.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект