Автор Тема: Нестандартная возможность, купить одним кликом несколько товаров?  (Прочитано 417 раз)

02 Февраля 2015, 10:06:47
  • Старожил
  • ****
  • Сообщений: 281
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
День добрый, потребовалась нестандартная возможность,
купить одним кликом несколько товаров...

Подскажите куда копать, какое действие нужно выполнить, чтобы товар сразу оказался в корзине?
Например чтобы провести заказ (оплачено) мне необходимо указать validateOrder("номер ID в корзине", 2,"цена товара" , и прочее);
Какое действие для добавления товара в корзину?
Заранее спасибо!
02 Февраля 2015, 11:31:46
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33010
  • Репутация: +26761/-0
    • Просмотр профиля
Ajax в помощь. Добавить чекбоксы в список товара. При выборе, без перезагрузки, добавлять в корзину.
Или делать набор товаров, но тогдла нужно будет передалать стандарный класс набора. Так как у вас покупатель будет составлять набор товаров. Такой вопрос обсуждали на форуме. Только не помню какое решение предложили.
02 Февраля 2015, 12:11:06
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86191
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Какое действие для добавления товара в корзину?
Cart->add();
Hook::exec('actionCartSave');
// add a product in the cart via ajax
add : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, wishlist)
02 Февраля 2015, 15:02:54
Ответ #3
  • Старожил
  • ****
  • Сообщений: 281
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Какое действие для добавления товара в корзину?
Cart->add();
Hook::exec('actionCartSave');
// add a product in the cart via ajax
add : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, wishlist)
Спасибо! Вот нашёл интересную статью:
http://nemops.com/prestashop-cart-multiple-products-quantities/#.VM9mUC4avhk

Может кто ещё в интернете сталкивался с одновременной покупкой нескольких товаров...
02 Февраля 2015, 15:12:28
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1255
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Ajax в помощь. Добавить чекбоксы в список товара. При выборе, без перезагрузки, добавлять в корзину.
Как раз об этом писал coder.
02 Февраля 2015, 16:29:21
Ответ #5
  • Старожил
  • ****
  • Сообщений: 281
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Следующим этапом мне нужно будет отобразить товары в каталоге.
В ряд по три штуки. 1-ый сумка, 2-ой перчатка, 3-ий платок. У каждого товара чекбокс.
Для каждого ряда кнопка купить всё что в ряду.

Как лучше поступить? Я думаю использовать контроллер NewProductsController.php
Изменить в нём Product::getNewProducts, т.е. в Product изменить выборку товаров на требуемую мне в getNewProducts
После этого полученные данные передаю в $this->context->smarty->assign(array('products' => $products,.....
и далее в $this->setTemplate(_PS_THEME_DIR_.'new-products.tpl');

В new-products.tpl вывожу товары как мне нужно по три штуки в ряд с кнопкой купить всё.

Вопрос такой, правильно ли будет реализовать так? Есть ли вариант сделать это по другому?
02 Февраля 2015, 16:34:22
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 13458
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Лучше через аксессуары. На них больше похоже. Там каждому товару можно подобрать комбинацию.
24 Февраля 2015, 17:02:35
Ответ #7
  • Старожил
  • ****
  • Сообщений: 281
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо,
реализовал всё при помощи Ajax. Добавил чекбоксы в список товара. При выборе, без перезагрузки, товар добавляется в корзину.

Однако осталось два вопроса:
1). Можно ли указать в этой строке:
 ajaxCart.add(id_prd, null, false, $(item).parent().parent().find('.ajax_add_to_cart_button'));id определённой комбинации, чтобы товар был в корзине уже с этой комбинацией.
2). Имеется такой товар как перчатки, для которых нужно выбрать определённый размер перед добавлением в корзину.
Как можно реализовать данную возможность.. Pop Up окно или что-то другое?

Заранее большое спасибо!
24 Февраля 2015, 17:23:32
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 13458
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1. В фунуции ajaxCart.add 2 параметр id комбинации
add : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, whishlist){
if (addedFromProductPage && !checkCustomizations())

2. Выпадающий список с атрибутом размера рядом с копкой добавить в корзину.
26 Февраля 2015, 17:01:04
Ответ #9
  • Старожил
  • ****
  • Сообщений: 281
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вроде всё, только осталась ещё одна проблема.
Как добавить несколько товаров в "Список пожеланий"

Для этих целей есть функция WishlistCart(), при помощи которой можно добавлять по одному товару. Однако после каждого добавления
появляется всплывающее окно "Добавлено в свой список пожеланий"
Как этого избежать?
 
26 Февраля 2015, 17:12:43
Ответ #10
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86191
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добавить свою обвертку для WishlistCart().
В своей функции в цикле подключать WishlistCart.
В WishlistCart в add ...success удалить вывод окна.
В своей функции добавить ..success показ окна.
27 Февраля 2015, 16:50:45
Ответ #11
  • Старожил
  • ****
  • Сообщений: 281
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всё, реализовал!!! Спасибо за помощь!!! Плюсики проставил...