Не выводит то что должно
        есть код, который должен выводить output переменную, но выводит совсем не понятно что
    
    
                                                                                
            {
    "success": true,
    "message": "",
    "data": {
        "msorder": 80
    }
}if ($action == 'createOrder') {
    $product_id = $_POST['product_id'];
     $scriptProperties = array(
      'json_response' => true,
      'max_count' => 1000,
      'allow_deleted' => false,
      'allow_unpublished' => false
    );
    
    $miniShop2 = $modx->getService('miniShop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
    $miniShop2->initialize($modx->context->key, $scriptProperties);
    
    $output = [];
    
    try {
        $miniShop2->cart->clean();
        
        $cart = $miniShop2->cart->add($product_id,1, ['size' => '']);
        $order = $miniShop2->order->submit();
     
        $output['success'] = true;
    } catch (Exception $e) {
        $output['success'] = false;
    }
    echo json_encode($output);
}    Комментарии: 1
                Не должен. потому что, если ты посмотришь код метода $miniShop2->order->submit(), то увидишь, что в текущей конфигурации, он делает редирект. Если же ты сделаешь так
Можешь глянуть мою заметку
                    $ms2->order->config['json_response'] = true;В этом случае редиректа не будет, но тво код всё равно ничего не вернёт, потому что всё в том же методе, вызывается функция die(), которая пресекает все твои чаяния на корню. Решение: расширить класс msOrderHandler и возвращать из него json. Можешь глянуть мою заметку
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.