Адрес электронной почты отсутствует в заказе
У нас есть 2 магазина (обновление 1.7.0.2 с 1.5.1 и установка 1.6), у которых есть проблема, связанная с тем, что для некоторых заказов отсутствует адрес электронной почты (customer_email в sales_flat_order). Магазины - это две совершенно разные установки, и единственное, что я обнаружил, что в обеих версиях одинаково, это то, что они оба используют OneStepCheckout (последняя версия) и что проблема видна только для клиентов (но не для всех), у которых уже есть учетная запись клиента . Я предполагаю, что проблема в учетной записи клиента, но я не могу найти ничего странного в этих учетных записях.
Есть идеи о том, где проверить или как отладить эту проблему?
Спасибо.
3 answers
Убедитесь, что вы используете OSC 4.0.7.
У нас была эта проблема с использованием Magento 1.7.0.2 и OSC 4.0.6. Оказалось, что это ошибка в OneStepCheckout, когда он неправильно обрабатывал пользователей, распознаваемых постоянной корзиной покупок. Мы сообщили об этом OSC, и они предоставили нам исправление (но я считаю, что оно было исправлено в 4.0.7: http://www.onestepcheckout.com/wiki/index.php/Changelogs#OneStepCheckout_4.0.7_changes
Grep для $this->getQuote()->setCustomerId(0);
в app\code\local\Idev\OneStepCheckout\Block\Checkout.php (должно дать 5 совпадений), так как это было в основном исправление.
Редактировать: это должен был быть комментарий.. на самом деле это не ответ.
ПРИМЕЧАНИЕ: По сути, это не ответ, но я хотел бы добавить свой собственный опыт решения этой проблемы, чтобы мне было легче ее отформатировать.
Я видел ту же проблему. Это то, в чем у меня не было возможности полностью разобраться, но из того, что я видел, это комбинация следующих факторов:
- Зарегистрированный клиент.
- Постоянная корзина для покупок.
Если клиент ранее зарегистрировался на сайте, , но не вошел в систему в , и постоянная корзина покупок включена (или действительно файл cookie присутствует для клиента после отключения постоянной корзины покупок), тогда, похоже, возникает проблема.
Я не видел, чтобы это происходило с клиентами, которые не зарегистрировались, но это заставляет меня задуматься, связано ли это с общей учетной записью компьютера и двумя разными клиентами, один из которых зарегистрировался, а другой нет.
Я также продолжу расследование этого, мы автоматически свяжем клиент для группы клиентов, поэтому эти проблемы означают, что заказ не назначен группе клиентов.
Редактировать: мы используем Firecheckout, а не OSC
Мы также используем OSC, и эта проблема возникает на нашем сайте. Я думаю, что это происходит в непрофильных расширениях оформления заказа. В основном Magento, если вы включите постоянную корзину, то гостевые клиенты будут вынуждены зарегистрироваться или войти в систему, поэтому адрес электронной почты всегда будет существовать. Несколько расширений проверки (например, OSC) не применяют это ограничение, поэтому вы попадаете в сценарий, которого не ожидает основной код.