Например, Magento может не переходить на следующий шаг оформления заказа, в то же время не указывая причину сбоя и не оставаляя записей в своих журналах.
Чтобы провести диагностику подобных ситуаций, примените (временно) две заплатки к программному коду:
1)
Найдите метод test класса Validation (в файле js/prototype/validation.js)
Это длинный метод примерно следующего вида:
test : function(name, elm, useTitle) {
var v = Validation.get(name);
var prop = '__advice'+name.camelize();
try {
if(Validation.isVisible(elm) && !v.test($F(elm), elm)) {
...
} else {
...
}
} catch(e) {
throw(e)
}Добавите в блок catch дополнительную диагностику:
test : function(name, elm, useTitle) {
var v = Validation.get(name);
var prop = '__advice'+name.camelize();
try {
if(Validation.isVisible(elm) && !v.test($F(elm), elm)) {
...
} else {
...
}
} catch(e) {
alert ("exception: " + e.message);
alert (e.stack.toString ());
throw(e)
}2)
Найдите метод nextStep класса Checkout (в файле skin/frontend/base/default/js/opcheckout.js)
Найдите там блок:
var msg = response.error_messages;
if (typeof(msg)=='object') {
msg = msg.join("\n");
}
alert(msg);
добавьте после него:
alert (transport.responseText);
Не забывайте, что программный код на JavaScript активно кешируется браузерами, поэтому просто обновить файлы недостаточно - надо дополнительно очистить кеш браузера от старого кода.

Вход
Регистрация
Помощь

