Как жестко закодировать один товар в корзине в Opencart? - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть одна вещь на сайте.Чтобы ускорить процесс, я хочу перемещать пользователя прямо в корзину, когда пользователь нажимает кнопку «Купить».

Я создал функцию

function addToCartQuick() {
    // quantity = typeof (quantity) != 'undefined' ? quantity : 1;
    $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + 50 + '&quantity=' + 1,
            dataType: 'json',
            beforeSend: function() {
                console.log('started to add');
                $('.js-btn-buy').html('Loading...');
            },
            success: function(json) {
                console.log('added');
                $('#cartlink')[0].click();
                $('.success, .warning, .attention, .information, .error').remove();
                // window.location.href = 'index.php?route=checkout/simplecheckout';
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
            }
    });
}

, которая добавляет товар в корзину и нажимает на скрытую ссылку в корзине.Как вы видите, я также пробовал window.location.href, но это медленнее, чем навигация.Текущее решение немного быстрее, чем window.location.href, но все еще медленное (по сравнению с простым нажатием на ссылку корзины)

Есть ли способ жестко закодировать один элемент по умолчанию в корзине (конечно, дать возможность увеличить / уменьшить и удалить элемент)

1 Ответ

0 голосов
/ 26 ноября 2018

Добавлено в каталог / controller / checkout / simplecheckout.php справа внизу function index() {

if (!$this->cart->hasProducts()) $this->cart->add(<your_product_id>);

А затем просто изменили кнопку «Купить», чтобы перейти непосредственно к оформлению заказа / простой проверке.

...