Тормозит кнопка добавления В корзину, у всех

с точки зрения логики выполнения программы эти два выражения аналогичны, просто второе более простое и короткое, разницы между ними ни какой.

Решение есть, Ну и изменяя эти файлы после обновления они будут затёрты, надеюсь в будущих версиях это исправят, ну и соответственно изменяя эти файл вы берёте всю ответственность на себя.

Надо отредактировать 2 файла:

  • файл app/controllers/frontend/checkout.php примерно на 69 строчке внутри условия $mode == ‘add’

     fn_calculate_cart_content($cart, $auth, 'E', true, 'F', true);
    

поменять букву ‘E’ на ‘S’

  • файл app/functions/fn.cart.php, соответственно внутри функции fn_calculate_cart_content надо закомментировать код в 2 местах и добавить 1 условие:

вот это закомменитровать (скорее всего разработчики это в будущем удалят):

// FIXME: Backward compatibility: If the 'calculate_shipping' property is true, shipping calculation will be forced
    //if ($cart['calculate_shipping'] === true) {
    //    $calculate_shipping = 'A';
    //}

и вот это:

    // If shipping methods were changed, shipping recalculation is forced
    // Registry::registerCache(['checkout', $shipping_cache_key], $shipping_cache_tables, Registry::cacheLevel('user'));
    // if ($calculate_shipping === 'S' && !Registry::isExist('calculated_shipping_rates')) {
    //     $calculate_shipping = 'A';
    // }

а так же изменить условие примерно на 3715 строчке с такого:

if ($cart['calculate_shipping']) {

на такое:

if ($cart['calculate_shipping'] && $calculate_shipping != 'S') {

Тогда при добавлении в корзину товара расчёта доставки не будет, соответственно и тормоза тоже должный пропасть. И когда вы заходите в корзину или переходите на страницу оформления заказа, уже только там будет происходить расчёт стоимости доставки. Кайфуйте.

12 лайков