Почему Magento не сможет спасти клиента после создания идентификатора? - PullRequest
50 голосов
/ 24 мая 2011

Я пытаюсь отследить причину редкой ошибки (люблю эти периодически возникающие ошибки), когда клиент выбирает «Регистрация» во время оформления заказа, но когда заказ завершен, Magento почему-то не удается сохранить запись о клиенте.Это приводит к бесхозному заказу без адреса электронной почты, сложной ситуации обслуживания клиентов.

Вот результаты моих исследований на данный момент:

  • Представление заказа на продажу в adminhtml сообщает, что клиент является гостем, а адрес электронной почты пустым.Адреса выставления счета и доставки видимы.
  • customer_is_guest - ложно в sales_flat_order
  • Запись sales_flat_order указывает на действительную запись в sales_flat_order_address.
  • Запись sales_flat_order_address содержит значения для customer_id и customer_address_id, однако эти связанные записи не существуют.
  • В информации о клиентах, заказанных продуктах, способах оплаты нет видимого шаблона.
  • Нет соответствующих записей в system.log, exception.log, журналах ошибок apache, var / reports или любых других известных мне журналах.

Мысли:

  • сохранение клиента происходит достаточно далеко, чтобы сгенерировать идентификатор.
  • есть ли на customer_save_after наблюдатель, который вызывает откат сохранения?
  • ошибка базы данных низкого уровня вызывает сбой сохранения.

Кто-нибудь есть какие-либо предложения о том, как отследить это?

Версия Enterprise 1.9.

1 Ответ

2 голосов
/ 03 июля 2011

Я бы добавил много дополнительной регистрации, попытался бы зарегистрировать ее достаточно хорошо, чтобы зафиксировать ошибку - и сохранить эти журналы, если ошибка может быть обнаружена.

Как только у вас появятся журналы, которые показывают ошибку, вызатем можно легче изолировать проблемный код.

Для этого вам может потребоваться записать в журнал запросы к базе данных, что, к сожалению, может быть сложным, если объем данных велик и / или из-за проблем с конфиденциальностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...