Коллбеки заказа miniShop2 не работают?
Всем привет, возникла задача повесить классическую цель метрики на оформление заказа, сделал это на url с GET параметром — msorder=id
Но в метрике стали появляться лишние заказы, уж не знаю с обновлением страницы это связанно или ещё с чем, в общем от этого способа было принято решение отказаться.
Решил сделать это через коллбеки miniShop2, здесь в сообществе уже не раз приводили пример нужного кода, который нужно разместить на странице корзины — вот пример —
Но проблема в том, что этот код не работает.
Включил в браузере сохранение истории лога консоли и сделал пару заказов, в консоли пусто.
Вписал этот коллбек прямо в js файл miniShop2, который идёт из коробки, чтобы не было проблем что miniShop2 ещё не успел проинициализироваться, а я уже какие-то коллбеки вызываю, но в консоли снова пусто.
Решил прямо в исходник js файла вписать вывод в консоль
Я решил вообще стереть из исходника все коллбеки связанные с заказом, что бы хоть ошибка что ли была, но всё равно всё работает и без этих коллбеков.
Поделитесь пожалуйста опытом, кто нормально смог повесить цель на оформление заказа.
p.s Данная проблема есть только c коллбеком заказа, а именно submit, все остальные работают как часы.
Но в метрике стали появляться лишние заказы, уж не знаю с обновлением страницы это связанно или ещё с чем, в общем от этого способа было принято решение отказаться.
Решил сделать это через коллбеки miniShop2, здесь в сообществе уже не раз приводили пример нужного кода, который нужно разместить на странице корзины — вот пример —
miniShop2.Callbacks.Order.submit.response.success = function () {
console.log('order success');
yaCounter99999999.reachGoal('order_ok');
}
Но проблема в том, что этот код не работает.
Включил в браузере сохранение истории лога консоли и сделал пару заказов, в консоли пусто.
Вписал этот коллбек прямо в js файл miniShop2, который идёт из коробки, чтобы не было проблем что miniShop2 ещё не успел проинициализироваться, а я уже какие-то коллбеки вызываю, но в консоли снова пусто.
Решил прямо в исходник js файла вписать вывод в консоль
//Это кусок родного кода js miniShop2
var callbacks = miniShop2.Order.callbacks
callbacks.submit.before = function () {
$(':button, a', miniShop2.Order.order).attr('disabled', true).prop('disabled', true)
}
callbacks.submit.ajax.always = function () {
$(':button, a', miniShop2.Order.order).attr('disabled', false).prop('disabled', false)
}
callbacks.submit.response.success = function (response) {
console.log('order success')//вывод в консоль - не работает
if (response.data['redirect']) {
console.log('order success')//вывод в консоль - не работает
document.location.href = response.data['redirect']
}
else if (response.data['msorder']) {
console.log('order success')//вывод в консоль - не работает
document.location.href = /\?/.test(document.location.href)
? document.location.href + '&msorder=' + response.data['msorder']
: document.location.href + '?msorder=' + response.data['msorder']
}
else {
console.log('order success')//вывод в консоль - не работает
location.reload()
}
}
Всё безуспешно, ни один вывод в консоль не отработал.Я решил вообще стереть из исходника все коллбеки связанные с заказом, что бы хоть ошибка что ли была, но всё равно всё работает и без этих коллбеков.
Поделитесь пожалуйста опытом, кто нормально смог повесить цель на оформление заказа.
p.s Данная проблема есть только c коллбеком заказа, а именно submit, все остальные работают как часы.