ajax запрос...
$(".cartr").on("click", function() {
$.ajax({
type: 'POST',
cache: false,
url: '/services/cart/',
data: {item: $(this).closest('.replacement').attr('value')+';'+$(this).closest('.replacement').find(".price").text()},
success: function (data) {
$('.basket-line-block-icon-cart').text(data['count']+" позиции");
$(this).find("path").css('stroke: #836063;');
}
});
return false;
});
Обработка ajax запрос...
/services/cart/index.php
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
use \Bitrix\Main\Loader;
Loader::includeModule('iblock');
Loader::includeModule('sale');
Loader::includeModule('catalog');
if ((include $_SERVER["DOCUMENT_ROOT"].'/services/include.php') != TRUE) {
exit;
}
if(isset($_POST['item'])) {
$json = $_POST['item'];
header("Content-type: application/json; charset=UTF-8");
header("Cache-Control: must-revalidate");
header("Pragma: no-cache");
header("Expires: -1");
$arr = explode(';', $json);
$vowels = array(" ", "₽", " ");
$siteId = 's1'; // ID сайта, к которому будет привязана корзина
$basket = \Bitrix\Sale\Basket::create($siteId);
$item = $basket->createItem('catalog', rand(10000000000, 11000000000));
$item->setFields([
'QUANTITY' => '1',
'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
'NAME' => $arr[0]." / ".$arr[1],
'PRICE' => ceil(floatval(str_replace($vowels, "", $arr[2]))),
'CUSTOM_PRICE' => 'Y',
]);
$b = $basket->save();
$dbRes = \Bitrix\Sale\Basket::getList(
[
'select' => ['NAME', 'QUANTITY'],
'filter' => [
'=FUSER_ID' => \Bitrix\Sale\Fuser::getId(),
'=ORDER_ID' => null,
'=LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
'=CAN_BUY' => 'Y',
]
]
);
$c=0;
while ($item = $dbRes->fetch())
{
$c++;
}
print json_encode(array('result' => $b->isSuccess(), 'count' => $c, 'user' => \Bitrix\Sale\Fuser::getId()));
}