Подключение сторонних сервисов к minishop2
В данном случае речь идет о reatirocket. По инструкции требуется:
На финальной странице оформления заказа (на которой пользователю сообщают о том, что заказ сформирован, благодарят за покупку и так далее) необходимо установить обработчик совершения транзакции:
И еще вопрос как в этот скрипт передать массив товаров с айди продуктов их ценами и количеством?
На финальной странице оформления заказа (на которой пользователю сообщают о том, что заказ сформирован, благодарят за покупку и так далее) необходимо установить обработчик совершения транзакции:
<script type="text/javascript">
function rrAsyncInit() {
try {
rrApi.order({
transaction: <transaction_id>,
userId: <user_id>, // необязательная строка
items: [
{ id: <product_id>, qnt: <quantity>, price: <price>},
{ id: <product_id>, qnt: <quantity>, price: <price> }
]
});
} catch(e) {}
}
</script>
Теперь вопрос, каким образом лучше вставлять этот скрипт? Как на счет варианта через плагин на событие msOnSubmitOrder? И еще вопрос как в этот скрипт передать массив товаров с айди продуктов их ценами и количеством?
Комментарии: 2
Вставить это в чанк success,
можно и плагином через добавление скрипта в страницу, все зависит от задачи.
Получить я так понимаю нужно массив с заказом?
посмотри сниппеты из стандартной поставки MS2, например ms_order,
он как раз выводит чанк с success при определенных условиях
можно и плагином через добавление скрипта в страницу, все зависит от задачи.
Получить я так понимаю нужно массив с заказом?
посмотри сниппеты из стандартной поставки MS2, например ms_order,
он как раз выводит чанк с success при определенных условиях
if (!empty($_GET['msorder'])) {
if ($order = $modx->getObject('msOrder', $_GET['msorder'])) {
if ((!empty($_SESSION['minishop2']['orders']) && in_array($_GET['msorder'], $_SESSION['minishop2']['orders'])) || $order->get('user_id') == $modx->user->id || $modx->context->key == 'mgr') {
if (empty($tplSuccess)) {$tplSuccess = 'tpl.msOrder.success';}
return $pdoFetch->getChunk($tplSuccess, array('id' => $_GET['msorder']));
}
}
}
Не просто массив с заказом, а в форме:
items: [
{ id: <product_id>, qnt: <quantity>, price: <price>},
{ id: <product_id>, qnt: <quantity>, price: <price> }
]
Т.е. каждый раз должен генерироваться массив объектов в зависимости от числа позиций в заказе. Если позиция была бы одна, то хватило и установки данного кода в чанк, можно конечно в сниппете подготовить массив данного вида, но тогда как же быть с обновлениями пакета?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.