Товар без торгового предложения из каталога не добавляется в корзину, а из карточки товара добавляется.
Как сделать, чтобы товар добавлялся в корзину из каталога? С помощью Add2Basket или Add2BasketByProductID это можно сделать?
Добавление происходит через ajax.
В каталоге есть кнопка:
AJAX:
Добавление в корзину updateBC.php:
Как сделать, чтобы товар добавлялся в корзину из каталога? С помощью Add2Basket или Add2BasketByProductID это можно сделать?
Добавление происходит через ajax.
В каталоге есть кнопка:
| Код |
|---|
<button class="button button--size-normal button--color-blue button--style-pill ord-basket" type="button" rel="<?=$arItem["OFFERS"][0]["ID"]?>"> <div class="button__inner"> <div class="button__text">В корзину</div> <sv g class="icon icon-chevron button__icon"> <use xlink:href="<?=SITE_TEMPLATE_PATH?>/assets/images/icons.svg#chevron"></use> </svg> </div> </button> |
AJAX:
| Код |
|---|
$(document).on('click', '.ord-basket', function () {
var value = $(this).attr('rel');
var popupid = '[data-remodal-id="item-order"]';
var popup = $(document).find(popupid);
var inst = $(popupid).remodal();
$.post( "/ajax/cart.php", {id:value} , function( data )
{
console.log( data );
$.ajax({
type: "POST",
url: "/ajax/updateBC.php",
success: function(msg){
console.log( msg );
msg = msg.replace(/\s+/g, ' ').trim()
var basketData = msg.split(',');
$('.basket-num').text( basketData[1] );
var priceText = '';
if( parseFloat( basketData[0] ) > 5000 ){
priceText = 'Ура! У вас будет бесплатная доставка';
}else{
priceText = 5000 - parseFloat(basketData[0]);
priceText = 'До бесплатной курьерской доставки осталось <strong>'+ priceText +' руб.</strong>';
}
Swal.fire({
type: 'success',
title: 'Товар добавлен в корзину',
showCancelButton: true,
confirmButtonText: 'Продолжить покупки',
cancelButtonText: 'Оформить заказ<a href="//domain.ru/cart/" class="btn__none"></a>',
html: priceText
});
}
});
});
return false;
});
|
Добавление в корзину updateBC.php:
| Код |
|---|
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("sale");
$basketOrder = CSaleBasket::GetBasketUserID();
$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC"
),
array(
"FUSER_ID" => $basketOrder,
"LID" => '123',
"ORDER_ID" => "NULL"
),
false,
false,
array()
);
$countGoods = 0;
$price = 0;
while ($arItems = $dbBasketItems->Fetch()){
$price += $arItems['QUANTITY'] * $arItems['PRICE'];
$countGoods++;
}
echo $price.','.$countGoods;
?>
|