Передать массив состава заказа minishop2 в сниппет

Привет. Есть сайт интернет-магазин, работающий на minishop2 и принимающий оплату через uniteller. Нужно реализовать отправку фискального чека, при смене статуса заказа в minishop2 панели на “Завершен”. Сейчас это реализуется таким алгоритмом.

При смене статуса чанк письма вызывает сниппет, который передает в переменные значения взятые из minishop2.



Код:
[[!checkSend? &orderId=[[+num]] &subtotal=[[+total.cart_cost]] &phone=[[+address.phone]] &email=[[+user.email]] &products=[[+products]] &userName=[[+address.receiver]]]]
Но массив products по итогу не имеет значения. Помогите решить эту проблему. Как передать значения массива products в сниппет?
Буду очень благодарен, если сможете помочь
Matvey
11 ноября 2022, 20:55
modx.pro
50
0

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

vectorserver
11 ноября 2022, 21:41
0
Создать сниппет модификатор toJson
<?php
return json_encode($input,JSON_UNESCAPED_UNICODE );
Потом применить модификатор: [[+products:toJson]]
[[!checkSend?
    &orderId=`[[+num]]`
    &subtotal=`[[+total.cart_cost]]`
    &phone=`[[+address.phone]]`
    &email=`[[+user.email]]`
    &products=`[[+products:toJson]]`
    &userName=`[[+address.receiver]]`
]]
Ну а далее в сниппете checkSend декодируешь обратно в массив!
    Matvey
    12 ноября 2022, 05:50
    0
    Спасибо за помощь. Можете ли вы тогда подсказать по декодировке массива в сниппете пожалуйста? Попробовал, но возвращает null
    Matvey
    12 ноября 2022, 05:49
    0
    .
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3