@anton99zel
29а класс средней школы №7

Как передать данные в скрипт?

По тех заданию нужно в скрипт вставить значения заказа
<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
try {
rrApi.order({
transaction: <transaction_id>,
items: [
{ id: <product_id>, qnt: <quantity>, price: <price>},
{ id: <product_id>, qnt: <quantity>, price: <price> }
]
});
} catch(e) {}
})
</script>

Где:
<transaction_id> - ID транзакции,
<product_id> - ID товара (должно совпадать с ID, передаваемом в YML),
<qnt> - количество единиц товара в заказе,
<price> - цена за единицу товара.

Пример:
<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
try {
rrApi.order({
transaction: 1235421421,
items: [
{ id: 12312, qnt: 4, price: 130 },
{ id: 64532, qnt: 1, price: 220 }
]
});
} catch(e) {}
})
</script>

Сейчас на странице, где нужно вставить этот скрипт я получаю данные:
<? echo "<pre>"; print_r($arResult[ORDER][ID]); echo "</pre>"; // ID транзакции
$obBasket = \Bitrix\Sale\Basket::getList(array('filter' => array('ORDER_ID' => $arResult[ORDER][ID])));
while($bItem = $obBasket->Fetch()){
     echo $bItem['ID'].'<br/>';  //  ID товара
     echo round($bItem['QUANTITY'],2).'<br/>'; //  количество единиц товара в заказе
     echo round($bItem['PRICE'],2).'<br/>'; //  цена за единицу товара
}
?>

Пример вывода
12016 // ID транзакции
52280  //  ID товара
1 //  количество единиц товара в заказе
650 //  цена за единицу товара
52281 //  ID товара
1 //  количество единиц товара в заказе
650 //  цена за единицу товара
52282 //  ID товара
3 //  количество единиц товара в заказе
2790 //  цена за единицу товара

Как мне правильно передать все это в скрипт, в частности не могу сообразить с массовом items, товаров же может быть сколько угодно.
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Akellacom
CTO
Объект с товарами и передавайте, а на стороне похапе уже разбирайте его
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы