msPromocode2 как получить сумму скидки через PHP ?

Здравствуйте.
Ситуация следующая:
ломаю/«дорабатываю» модуль выгрузки заказа во Frontpad (хотят дополнительно ещё кучу параметров выгружать, в том числе скидки по промокодам).
Никак не могу сообразить, как мне эту самую скидку «выудить» из заказа (в массиве заказа её нет, через js в свой input не получается впихнуть при клике на кнопку — видимо мой скрипт раньше срабатывает). Остается только как-то уже из готового заказа вытаскивать.
В документации есть пример, как можно получить этот массив с данными на fenom:
{var $coupon = (('!pdoResources' | snippet : [
  'class' => 'mspc2CouponOrder',
  'loadModels' => 'msPromoCode2',
  'innerJoin' => [ [
    'class' => 'mspc2Coupon',
    'alias' => 'mspc2Coupon',
    'on' => 'mspc2Coupon.id = mspc2CouponOrder.coupon',
  ] ],
  'select' => [
    'mspc2CouponOrder' => 'code, discount, discount_amount',
  ],
  'where' => [
    'mspc2CouponOrder.order' => $order['id'],
  ],
  'sortby' => '{"id":"ASC"}',
  'return' => 'json',
]) | fromJSON)}
Попробовал переделать для PHP, но не срабатывает у меня пока… А может есть какой-то более простой способ?
Игорь
12 декабря 2023, 13:30
modx.pro
376
0

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

Володя
12 декабря 2023, 14:09
0
if ($o = $modx->getObject('mspcOrder', ['order_id' => $order['id']])) {
    $discount = $o->get('discount_amount');
}
    Игорь
    12 декабря 2023, 14:29
    0
    нет, так не срабатывает… виснет оформление заказа ((
    if ($o = $modx->getObject('mspcOrder', ['order_id' => $order['id']])) {
        $discount = $o->get('discount_amount');
    	$value .= ' Скидка по промокоду '.$discount.'%';
    }
      Володя
      12 декабря 2023, 15:00
      0
      нет, так не срабатывает… виснет оформление заказа ((
      так а куда вы этот вызов запихали?
        Игорь
        12 декабря 2023, 15:06
        0
        php файл, в котором формируется заказ для выгрузки по api /core/components/frontpadapi/processors/mgr/api/neworder.class.php (я всё туда пихаю)
          Володя
          12 декабря 2023, 15:08
          0
          ну тогда надо
          $this->modx->
            Игорь
            12 декабря 2023, 19:16
            0
            Спасибо большое. Вы, как всегда, очень помогли (это если «мягко выражаясь», а реально решили мою проблему).
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6