Тот вопрос был не мой, я всего лишь в соответствии с правилами тостер изучил подобные вопросы, и указал самый близкий вопрос.
Вы имеете ввиду получит строчку запроса разбить по словам, сделать запросы по GetList а затем подкинуть результаты которых не хватает в arResult?
Меня интересует какой либо стандартный способ, неужели стандартный модуль битрикс-поиск не умеет искать по разделам товаров?
Alams Stoyne, вижу что Вы используете Add а я Update. При этом есть есть ли принципиальная разница.
Я проверяю ответ от Update и даже когда возникает проблема с ответом всё впорядке.
Я конечно попробую где можно сейчас Add использовать, но не рассчитываю что что то глобально поменяется, поскольку метод того же класса CSaleBasket.
function productUpdateInBasket($PRODUCT_ID=0,$QUANTITY=0) {
//// Выполняем запрос в корзину узнаём есть ли у неё элемент с Ид_товара
$a = CSaleBasket::GetList(// Выполняем запрос в корзину узнаём есть ли у неё элемент с Ид_товара
$arOrder = array(),
$arFilter = array("PRODUCT_ID"=>$PRODUCT_ID),
$arGroupBy = false,
$arNavStartParams = false,
$arSelectFields = array()
);
if (count($a->arResult)) {// Если есть получаем Ид этого элемента в корзине(может не совпадать с Ид товара)
$idProductInBasket = $a->arResult[0]["ID"];
$arFields_new = array("QUANTITY"=>$QUANTITY);
return CSaleBasket::Update($idProductInBasket, $arFields_new);
}
return false;
}
Иногда переставали обновляться некоторые товары, то есть вообще всё работает. Но иногда у какого нибудь товара добавленного из каталога в корзине перестаёт обновляться количество через ajax на указанную функцию.
Причём перестаёт обновляться как это видно в стандартном компоненте так и в шапке информация в которой запрашивается через
Ситуация исправляется если нажимать удалить товар и заново его добавить.
Причём кнопку удалить нужно нажать 2-3 раза и только после этого товар удаляется.
Для удаления используется
function productDeleteFromBasket($PRODUCT_ID=0) {
//// Выполняем запрос в корзину узнаём есть ли у неё элемент с Ид_товара
$a = CSaleBasket::GetList(// Выполняем запрос в корзину узнаём есть ли у неё элемент с Ид_товара
$arOrder = array(),
$arFilter = array("PRODUCT_ID"=>$PRODUCT_ID),
$arGroupBy = false,
$arNavStartParams = false,
$arSelectFields = array()
);
if (count($a->arResult)) {// Если есть получаем Ид этого элемента в корзине(может не совпадать с Ид товара)
$idProductInBasket = $a->arResult[0]["ID"];
$arFields_new = array("QUANTITY"=>0);
return CSaleBasket::Update($idProductInBasket, $arFields_new);
}
return false;
}
FanatPHP, так если Вам нужно открыть сайт php.net Вы вправе сделать это и без моего разрешения. Предполагаю, что продолжение данного диалога не может привести к практической пользе.
Вы имеете ввиду получит строчку запроса разбить по словам, сделать запросы по GetList а затем подкинуть результаты которых не хватает в arResult?
Меня интересует какой либо стандартный способ, неужели стандартный модуль битрикс-поиск не умеет искать по разделам товаров?