На сайт приходит запрос, в котором посылают json-массив с параметрами заказа. Мы должны распарсить и записать заказ в битрикс.
Все это происходит хорошо.
Но только на сайте в кодировке UTF-8. На сайте с кодировкой Windows-1251 записывается все, кроме позиции.
Сравнивала массивы, которые получаются при записи и они идентичны, но почему-то все равно не работает.
Сначала я создаю заказ, потом добавляю в него позиции.
Все это происходит хорошо.
Но только на сайте в кодировке UTF-8. На сайте с кодировкой Windows-1251 записывается все, кроме позиции.
Сравнивала массивы, которые получаются при записи и они идентичны, но почему-то все равно не работает.
Сначала я создаю заказ, потом добавляю в него позиции.
Код |
---|
foreach ($prod as $key => $proddd) { // здесь идем по массиву с товарами $ID_p = $proddd['id_product']; $Name_p = $proddd['name_product']; $Price_p = $proddd['price_product']; $Quantity_p = $proddd['quantity_product']; $ctlg = CCatalogProduct::GetByID( $ID_p ); // находим такой товар в каталоге $arrokl = CIblockElement::GetList(array(), array("ID"=>$ID_p), false, false, array()); while ($ob = $arrokl->GetNextElement()) { $arF = $ob->getFields(); } $arFields = array( "PRODUCT_ID" => $ID_p, "PRICE" => $Price_p, "CURRENCY" => "RUB", "WEIGHT"=>$ctlg['WEIGHT'], "QUANTITY" => $Quantity_p, "LID" => LANG, "NAME" => $arF['NAME'], "CALLBACK_FUNC" => "MyBasketCallback", "MODULE" => "sale", "NOTES" => "", "ORDER_CALLBACK_FUNC" => "MyBasketOrderCallback", "ORDER_ID"=>$ORDER_ID, // id заказа, который создан ранее "DETAIL_PAGE_URL"=>$arF['DETAIL_PAGE_URL'] ); $arProps = array(); $arFields["PROPS"] = $arProps; CSaleBasket::Add($arFields); // вот тут добавляется позиция } |