Всего 123 791 комментарий

Сергей С
28 июня 2023, 22:31
0
$msOrder->get('num') есть
$msAddress->get('user_id') есть
а
$msAddress->get('id') нету.
$msOrder->get('id') тоже нет
Сергей С
28 июня 2023, 22:27
0
$msAddress->get('id') вот так не хочет.
Николай Савин
28 июня 2023, 22:24
0
Пардон не понял тогда. msAddress совершенно точно имеет id.
Сергей С
28 июня 2023, 22:18
0
так там и так связь $msAddress = $msOrder->getOne('Address'); Или я недопонимаю в каком массиве копать?
Николай Савин
28 июня 2023, 21:55
0
Используйте связь между объектами $msAddress->Order
Сергей С
28 июня 2023, 21:43
0
Пытаюсь. Но нужен id а его не могу получить
Артур Шевченко
28 июня 2023, 21:39
0
Тогда получи самостоятельно объект адреса
Сергей С
28 июня 2023, 21:36
0
Там проблема видимо кроется в том, что $msAddress содержит не все данные. createdon, phone, city,receiver, user_id. Но нет id и properties
Артур Шевченко
28 июня 2023, 20:41
+1
Тут наши полномочия всё
Сергей С
28 июня 2023, 20:39
0
Пробовал не работает да и они в таблице адреса лежат modx_ms2_order_addresses
Артур Шевченко
28 июня 2023, 20:34
0
Есть мнение, что вам нужны properties не адреса, а заказа.
Артур Шевченко
28 июня 2023, 18:02
0
Если у вас есть списочные данные, не надо делать 100500 ТВ, используйте Migx.
Артур Шевченко
28 июня 2023, 15:24
0
Попробуйте так
<?php
return time();
Dan
Dan
28 июня 2023, 13:17
0
В логах Modx и сервера есть ошибки?
Александр
28 июня 2023, 12:37
0
Выложите, пожалуйста, отдельно первую версию. На ней рука набита. Иначе, как-то бескомпромиссно получается.
Спасибо
Любовь
28 июня 2023, 11:37
0
А как решилась проблема помните? Скриншот не доступен уже. Такая же история на одном сайте.
Николай Савин
28 июня 2023, 10:11
+1
Обратите внимание, я передаю в плагин через сессию идентификатор сессии, это связано с тем, что у меня на сайте авторизация происходит не через процессор, а с помощью метода addSessionContext(), который меняет id сессии, а нужен тот id, который был до авторизации. Возможно, при авторизации через процессор, такого не происходит, но я не проверял.
Процессор использует ровно тот же метод addSessionContext, добавляя еще проверку прав, запуск событий и т.п. Так что все идентично по факту. И да — addSessionContext меняет id сессии. Способа бороться с этим нет.
Я для себя делаю так

$_SESSION['prev_session_id'] = session_id();
$user->addSessionContext();
И далее запрос в базу избранного можно строить используя текущий обновленный session_id и одновременно старый из сессии.
Николай Савин
28 июня 2023, 10:06
0
Сессии так-то тоже не везде используются. Перезаписываются при каждой авторизации
Сергей С
28 июня 2023, 10:01
0
$msAddress = $msOrder->getOne('Address');
$properties = $msAddress->get('properties');
$utm_campaign = $properties->get('utm_campaign');