На сайт приходит запрос, в котором посылают 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); // вот тут добавляется позиция
}
|
в чем может быть проблема?