callback на добавление в корзину (id товара)

Всем привет, возникла задача поставить цель на добавление в корзину определённого товара.
В miniShop2 есть система коллбеков, однако как добавить в ответ сервера поле с id товара не разобрался.
Я использую такой код:
miniShop2.Callbacks.add('Cart.add.response.success', 'add_ok', function(response) {
    console.log(response.data)
  });
//и в response.data получаю следующие поля
//key:"33e75ff09dd601bbe69f351039152189"
//total_cost:7500
//total_count:1
//total_weight:0
Как сделать, чтобы в ответ прилетало также поле id товара?
Семён Кудрявцев
24 октября 2017, 07:01
modx.pro
1
3 538
0

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

Володя
24 октября 2017, 10:53
0
расширить класс корзины и добавить идентификатор товара в подобных местах github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/minishop2/mscarthandler.class.php#L223
    Семён Кудрявцев
    24 октября 2017, 10:59
    0
    Володя, спасибо за наводку!
      edwardproff
      12 сентября 2019, 22:13
      0
      Вдруг кто-то будет искать. Можно не расширять класс. Вот простой плагин на событие msOnGetStatusCart

      if ($modx->context->key == 'mgr') {return;}
      
      if ($modx->event->name = 'msOnGetStatusCart') {
      
      	$values = & $modx->event->returnedValues;
      	$values['status'] = $status;
      	$values['status']['id'] = $cart->get()[ $status['key'] ]['id'];
      
      }
        Александр Суркин
        11 ноября 2019, 16:29
        0
        Подскажите, пожалуйста, как в этом случае дальше сделать callback. Так у меня ничего нового не появляется.

        $(window).load(function() {
        miniShop2.Callbacks.Cart.add.response.success = function(response) {
        console.log(response);
        }
        });
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4