$arLoadProductArray = Array("CODE" => mb_strtolower($value2["VALUE"]));
?$counter == $total
(все остальное такое же только без $counter == "1"
этого условия) выполняет (либо не выполняет) действия чисто с последним элементом в массиве и только с ним. но мне было необходимо чтобы когда остается ЛЮБОЙ один элемент (а не только последний) применять с ним действия. поэтому к условию я добавил $counter == "1"
ТО есть что последний элемент должен быть равен единице, а не какой другой цифре. А когда с массивом происходят определенные действия (например удаление элементов массива) то удаляются все элементы, CIBlockElement::Update
но тогда он затрет все имеющиеся свойства а оставит только то что я обновил. как лучше поступить в данном случае? кстати я дописал проверкуif (CCatalogProduct::Update($arFields["ID"], $arFields)) {
echo "ok";
}
else {
echo "not ok";
}
(document).ready(function(){
$(".buy-btn").on("click", function(){
var product_id = $(this).data("id");
var qty = $(".qty-"+product_id).val();
$.ajax({
type: "POST",
url: "/include/add-cart.php",
data: ({id: product_id, count: qty}),
cache: false,
success: function(data){
$("#reload").html(data);
}
});
$(this).removeClass('buy-btn').addClass('green-btn').text("В корзине");
localStorage.setItem('addClass', 'true');
});
});
</script>
<?
// Выведем актуальную корзину для текущего пользователя
$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC",
"ID" => "ASC"
),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"PRODUCT_ID" => $arItem[ID], //ID текущего товара
"ORDER_ID" => "NULL",
"DELAY" => "N" //Исключая отложенные
),
false,
false,
array("PRODUCT_ID")
);
while ($arItemsBasket = $dbBasketItems->Fetch()) {
$itInBasket = $arItemsBasket['PRODUCT_ID'];
}
?>
<? if (isset($itInBasket)) {?>
<script>
if (localStorage.getItem('addClass') == 'true') {
$('.btn.buy-btn').addClass('green-btn').text("В корзине");
}
</script>
<?} else { //Если товара нет (переменная пустая) ?>
<?}?>