Автор Тема: Массовое добавление товаров  (Прочитано 585 раз)

17 Ноябрь 2016, 19:26:53
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!Подскажите пожалуйста,я сделал массовое добавление товаров в корзину, но есть одна проблема при первом добавлении, когда ещё не инициализированна cookie корзины, добавляется только один товар, а последующие разы добавляются отлично!Как можно инициализировать cookie при загрузке?Иди какой то другой способ посоветуйте?
17 Ноябрь 2016, 19:35:24
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
$context->cart->update();Обновится все информация по корзине (в том чисте и cookie).
17 Ноябрь 2016, 19:39:25
Ответ #2
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А если корзина пуста?
17 Ноябрь 2016, 19:54:23
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
cookie сохраняются при первом заходе на сайт. Их не нужно специально сохранять.
При добавлении товара в корзину cookie обновляются.
Нужно обновить объект cart и ифомация будет сохранена.
18 Ноябрь 2016, 10:51:45
Ответ #4
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При добавлении в корзину записываются cookie корзины,а вернее id корзины!
$this->context->cart->add();

if ($this->context->cart->id) {
                    $this->context->cookie->id_cart = (int)$this->context->cart->id;
                   
                }

И если человек первый раз посетил сайт то в корзину при перво добавлении 6 товаров попадает только 1, а последующие разы всё хорошо работает!
Пожалуйста помогите уже всё перепробовал!
18 Ноябрь 2016, 11:41:47
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Как добавляет товары? Что ты переделал?
18 Ноябрь 2016, 12:49:36
Ответ #6
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добавляет стандартная функция 
ajaxCart.add();Пользователь выбирает размеры товара и нажимает на кнопку добавить все, при этом все выделенные размеры собираются в массив и внутри массива встраивается вышеуказанная функция которая по очереди добавляет товар с указанным атрибутом!
18 Ноябрь 2016, 13:08:46
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
// add a product in the cart via ajax
add : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, whishlist)
Стандарная функция такая, в quantity можешь передать 1,2... и добавить нужное кол-во товара.
 
18 Ноябрь 2016, 14:24:22
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
У вас скоре всего не передается количество в переменной "quantity", в таком случае количество по умолчанию 1
$.ajax({
        ...
        data: 'controller=cart&add=1&ajax=true&qty=' + ((quantity && quantity != null) ? quantity : '1')