В классе Mbasket есть такие функции для увеличения и уменьшения количества товара в корзине
function Minus($iBlock, $iElement){ // ФУНКЦИЯ управляет количеством товара
$arrBasket = MBasket::GetBasketArray(); // Получить массив корзины
foreach($arrBasket['basket']['products'] as $key=>$val){
if($val['IBLOCK_ID'] == $iBlock and $val['ELEMENT_ID'] == $iElement){
print_r($val['COUNT']);
$val['COUNT']=$val['COUNT'] - 1;
print_r($val['COUNT']);
}
}
MBasket::SetBasketArray($arrBasket);
return true;
}
function Plus($iBlock, $iElement){ // ФУНКЦИЯ управляет количеством товара
$arrBasket = MBasket::GetBasketArray(); // Получить массив корзины
foreach($arrBasket['basket']['products'] as $key=>$val){
if($val['IBLOCK_ID'] == $iBlock and $val['ELEMENT_ID'] == $iElement){
$val['COUNT']=$val['COUNT'] + 1;
}
}
MBasket::SetBasketArray($arrBasket);
return true;
}
из корзины я вызываю их с помощью обработки гет запроса, а то есть
<button type="button" onclick="Minus(<?=$arProd['IBLOCK_ID']?>,<?=$arProd['ELEMENT_ID']?>)" class="btn btn-default"><i class="fa fa-minus" aria-hidden="true"></i></button> <button onclick="Plus(<?=$arProd['IBLOCK_ID']?>,<?=$arProd['ELEMENT_ID']?>)" type="button" class="btn btn-default"><i class="fa fa-plus" aria-hidden="true"></i></button>
<
эти кнопки вызывают функцию ajax и get:
function Minus(iBlockID, elementID) {
$.ajax({
type: "GET",
url: "_minus.php",
data: ({IBLOCK_ID : iBlockID, ELEMENT_ID : elementID}),
success: function(data){
$("#basket").load("/sect_basket.php");
$("#basket-page").load("/basket/index_basket-page.php");
},
error: function() {
alert("Ошибка. Обратитесь к администратору!");
}
});
}
function Plus(iBlockID, elementID) {
$.ajax({
type: "GET",
url: "_plus.php",
data: ({IBLOCK_ID : iBlockID,ELEMENT_ID : elementID }),
success: function(data){
$("#basket").load("/sect_basket.php");
$("#basket-page").load("/basket/index_basket-page.php");
},
error: function() {
alert("Ошибка. Обратитесь к администратору!");
}
});
}
В файлах вызов функций уже из класса:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("top10_basket");
MBasket::Minus($_GET["IBLOCK_ID"],$_GET["ELEMENT_ID"]);
?>
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("top10_basket");
MBasket::Plus($_GET["IBLOCK_ID"],$_GET["ELEMENT_ID"]);
?>
Но количество не изменяется, в чем дело? подскажите пожалуйста