Подключение сторонних сервисов к 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?
И еще вопрос как в этот скрипт передать массив товаров с айди продуктов их ценами и количеством?
Никита Павлов
14 декабря 2013, 15:53
modx.pro
1 381
0

Комментарии: 2

Clean
16 декабря 2013, 02:03
0
Вставить это в чанк 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']));
		}
	}
}
    Никита Павлов
    Никита Павлов
    16 декабря 2013, 07:08
    0
    Не просто массив с заказом, а в форме:
    items: [
                    { id: <product_id>, qnt: <quantity>,  price: <price>},
                    { id: <product_id>, qnt: <quantity>,  price: <price> }
                ]
    Т.е. каждый раз должен генерироваться массив объектов в зависимости от числа позиций в заказе. Если позиция была бы одна, то хватило и установки данного кода в чанк, можно конечно в сниппете подготовить массив данного вида, но тогда как же быть с обновлениями пакета?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2