Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 113 комментариев

Скаут
Скаут
а, об этом речь, думал какое-то еще логирование)
проверил эти два метода — там всё ок.

Отложил процесс покупки, проблема именно в получении объекта
modx->getObject('msOrderAddress', 523);
Проверил на заранее уже существующем заказе в консоли и получил вообще другие заказ.
[_fields] => Array
        (
            [id] => 523
            [order_id] => 515
            [user_id] => 208
            [createdon] => 2024-07-21 11:38:48
            [updatedon] => 
            [receiver] => Пример ФИО
            [phone] => +79999999
            [email] => test@test.test
            [country] => 
            [index] => 
            [region] => 
            [city] => 
            [metro] => 
            [street] => 
            [building] => 
            [entrance] => 
            [floor] => 
            [room] => 
            [comment] => 
            [text_address] => 
            [properties] => 
        )
То есть я запросил данные заказа 523, а мне вернулся заказ 515.
Что за id и order_id?
Alexey
Alexey
Понятное дело, что это сделано из благих побуждений. Но в случае, если заказ на сайте совершают несколько менеджеров из одной компании, у которых разные email, но один телефон на всех, это может быть проблемой. Так как уникальным полем для регистрации в основном служит email.
Alexey
Alexey
Привет! В минишопе раньше была бага(или фича), связанная с привязкой юзера по НОМЕРУ ТЕЛЕФОНА, если его вводить в форму заказа. То есть, если вводишь новый email, а телефон использован у ранее зареганого юзера, то заказ прикрепится к этому юзеру, а не зарегает нового.

Сам нарывался на это, нужно было в файле минишопа закомментить пару строк, но в каком — сейчас не вспомню. Может, опытные товарищи подскажут?

Возможно, этот момент уже пофиксил в новых версиях минишопа, не знаю… но раньше точно была такая проблема
Скаут
Скаут
ни в modx логах, ни в логах php ошибок в процессе формирования не возникает (только что проверил и под гостем и под админом).
В логах проскакивают ошибки и notice, но они связаны с другими страницами, модулями и возникают совершенно в другие временные эпизоды.
Скаут
Скаут
да, передавались не те. Еще одну особенность обнаружил: всё вышеописанное происходит, когда я тестирую из-под админа. Если же пробую всё то же самое из-под гостя, то объект $user возвращает NULL.
При этом в админке если проверять заказ, то там данные верны (имя записывает то, что указано, если почта уникальный — создается новый пользователь, если почта уже есть в базе, то цепляется к существующему пользователю).
Как так происходит не понимаю…
Скаут
Скаут
Да, если вводится уникальная почту, то новый пользователь создаётся.

Идеи есть, куда копать, как разобраться?

Кстати, в объекте $user если смотреть данные вложенных объектов (modRequest, msProductRemains), то там данные покупателя корректные.