Как получить поле properties из заказа minishop2?

Есть плагин на события
msOnCreateOrder
msOnBeforeCreateOrder
В нем получаем все данные адреса из заказа
$msAddress->get('receiver'),
$msAddress->get('phone'),
Проблем нет но $msAddress->get('properties'); Пустой
Знаю что там json, json_decode($properties) тоже пустой.
При этом при в админке все выводится и при получении данных заказа в снипете через SQL запрос к modx_ms2_order_addresses данные приходят.
Подскажите пожалуйста, в чем ошибка и что не так делаю.
Сергей С
28 июня 2023, 20:03
modx.pro
614
0

Комментарии: 15

Артур Шевченко
28 июня 2023, 20:34
0
Есть мнение, что вам нужны properties не адреса, а заказа.
    Сергей С
    28 июня 2023, 20:39
    0
    Пробовал не работает да и они в таблице адреса лежат modx_ms2_order_addresses
      Артур Шевченко
      28 июня 2023, 20:41
      +1
      Тут наши полномочия всё
        Сергей С
        28 июня 2023, 21:36
        0
        Там проблема видимо кроется в том, что $msAddress содержит не все данные. createdon, phone, city,receiver, user_id. Но нет id и properties
          Артур Шевченко
          28 июня 2023, 21:39
          0
          Тогда получи самостоятельно объект адреса
            Сергей С
            28 июня 2023, 21:43
            0
            Пытаюсь. Но нужен id а его не могу получить
              Николай Савин
              28 июня 2023, 21:55
              0
              Используйте связь между объектами $msAddress->Order
                Сергей С
                28 июня 2023, 22:18
                0
                так там и так связь $msAddress = $msOrder->getOne('Address'); Или я недопонимаю в каком массиве копать?
                  Николай Савин
                  28 июня 2023, 22:24
                  0
                  Пардон не понял тогда. msAddress совершенно точно имеет id.
                    Сергей С
                    28 июня 2023, 22:27
                    0
                    $msAddress->get('id') вот так не хочет.
                      Сергей С
                      28 июня 2023, 22:31
                      0
                      $msOrder->get('num') есть
                      $msAddress->get('user_id') есть
                      а
                      $msAddress->get('id') нету.
                      $msOrder->get('id') тоже нет
                        Сергей С
                        28 июня 2023, 22:59
                        0
                        это массив весь
                        [id] =>
                        [user_id] => 115
                        [createdon] => 2023-06-28 22:38:43
                        [updatedon] =>
                        [receiver] => Тест
                        [phone] => +79999999999
                        [country] =>
                        [index] =>
                        [region] =>
                        [city] => Карла Маркса д.26
                        [metro] =>
                        [street] =>
                        [building] =>
                        [entrance] =>
                        [floor] =>
                        [room] =>
                        [comment] =>
                        [text_address] =>
                        [properties] =>
                        [assembly] => 0
                        [point] =>
                        [delivery] => 60
                        [email] => test@yandex.ru
                        [payment] => 1
                        [ms2_action] => order/submit
                        [ctx] => web
                          Тодор
                          29 июня 2023, 01:38
                          +2
                          id пусто для события msOnBeforeCreateOrder, так как обект msOrder еще не сохранен на етом етапе. По поводу properties, по умолчанию етот масив пустой, нужно сначала туда что-то положить
                          Сергей С
                          29 июня 2023, 11:05
                          0
                          properties на этапе msOnBeforeCreateOrder тоже пустой оказался, на этом этапе т.к. в нашем случае там пишутся utm только при сохранении заказа. Судя по многочисленным тестам в плагине на этом этапе можно получить только данные из формы заполненной посетителем в корзине+ товар.
      Сергей С
      28 июня 2023, 23:04
      0
      Все Всем спасибо. Разобрался. Плагин собирал данные на момент msOnBeforeCreateOrderа тогда еще не присвоен id и properties
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        15