<form>
. Да и решение по сути рабочее, но работает только с залогиненным пользователем. function basketAdd(product_ID) {
$.get("<?$APPLICATION->GetCurPage();?>", {product_ID: product_ID});
console.log("check: <?echo $APPLICATION->GetCurPage();?>");
<?
$basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
$productID = $_GET["product_ID"];
$quantity = 1;
if ($item = $basket->getExistsItem('catalog', $productID)) {
$item->setField('QUANTITY', $item->getQuantity() + $quantity);
}
else {
$item = $basket->createItem('catalog', $productID);
$item->setFields(array(
'QUANTITY' => $quantity,
'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
));
}
$basket->save();
?>
}
$(document).ready(function (){
// Additional products to basket
$('.btn.to-cart').on('click', function() {
var product_ID = $('#product_ID option').filter(':selected').val();
basketAdd(product_ID);
}
);
})
предлагаете только выпадающий список поместить? И повесить на onclick функцию отправляющую эту форму?
Сейчас при залогиненном пользователе при выборе из выпадающего списка и нажатию на кнопку "в корзину" товар добавляется по переданному Get параметру ID товара. И только при ?clear_cache=Y в url