Извиняюсь, что это будет слегка расплывчатый вопрос.
У меня настроенная версия Awesomecheckout (одностраничная проверка), работающая на Mangento 1.9, но я столкнулся с проблемой, когда адрес электронной почты клиента не сохраняется в базе данных при регистрации в качестве гостя.
Я думаю, что это может быть чем-то, что я сам вызвал, настолько маловероятно, что кто-то сразу узнает решение, но я надеялся, что кто-то может указать мне, какие файлы могут быть ответственны за это.
Я обнаружил, что /app/code/Core/Mage/Checkout/Model/Type/Onepage.php действительно имеет адрес электронной почты ok в saveBilling () (он отображается как в $ address-> getEmail () и $ this-> getQuote () -> getCustomerEmail ()), но я не могу понять, что будет дальше (и так, где это теряется).
Большое спасибо за любые предложения.
Я испытал ту же ошибку. В файле /app/code/core/Mage/Checkout/Model/Type/Onepage.php magento проверяет данные клиента с помощью $ result = $ customer-> validate (); вокруг линии 440.
Эта функция пытается получить адрес электронной почты и проверить его.
Но в моем случае в объекте $ customer не было данных электронной почты.
1) Копировать /app/code/core/Mage/Checkout/Model/Type/Onepage.php
в /app/code/local/Mage/Checkout/Model/Type/Onepage.php
2) Найдите эту строку: $result = $customer->validate();
3) Добавьте этот код над ним: if ($customer->getEmail() == '' and @$data['email'] != '') {$customer->setEmail($data['email']);}
Других решений пока нет …