что подразумевается под тормозит? время между появления попап а нажатием кнопки?
Поставьте бесплатны модуль “полет в корзину” и “тормоз” станет вполне логичным и даже необходимым.
Давно стоит, но это костыль. Тормозить от того не перестает, несколько товаров от того добавить последовательно в корзину не проще.
Последнее время вырезаем данный popup, создает впечатление подвисание выполнения функций.
А если без него, то товар сразу появляется в корзине без лага?
0.3-0.5 сек ajax прелоадер и всплывашка нотификации в углу, что товар добавлен.
Если кому требуется быстрый фикс, для 481 и выше (скорее всего)
/app/controllers/frontend/checkout.php
Ищем и комментируем строки (примерно 84 строка)
// $msg = Tygh::$app['view']->fetch('views/checkout/components/product_notification.tpl');
// fn_set_notification('I', __($product_cnt > 1 ? 'products_added_to_cart' : 'product_added_to_cart'), $msg, 'I');
Вставляем
fn_set_notification('N', __('notice'), __('product_added_to_cart'));
*Создайте языковую переменную для product_added_to_cart
Кстати, где-то на форуме уже всплывала тема.
не подскажите какую языковую переменную нужно создать? И Где?
Администрирование - Языки - Переводы.
Укажите значение product_added_to_cart
Перевод, например: Товар добавлен в корзину.
Наконец-то дошли руки, спасибо, теперь добавление просто летает ))
Добрый день.
Я открыл checkout.php и там уже есть все эти строки:
Отличие только в названии языковой переменной. Может этот фикс вставили в базу cs-cart? Или я не там смотрю? Заранее спасибо.
из вашего куска первые две строки комментируются и вместо них вставляется третья - читайте внимательно выше:
Добрый день. Спасибо, а как комментировать эти строки, какими знаками? Заранее спасибо
в показанном примере они и закомментированы - два слэша в начале строки
Этот код не работает долго, основная проблем в том, что при добавлении в корзину запускается функция:
fn_calculate_cart_content(&$cart, $auth, $calculate_shipping = ‘A’, $calculate_taxes = true, $options_style = ‘F’, $apply_cart_promotions = true)
вот с такими параметрами:
fn_calculate_cart_content($cart, $auth, ‘S’, true, ‘F’, true);
конкретно $calculate_shipping = F -означает что при добавлении в корзину из карточки товара не должна пересчитываться стоимость доставки. Но внутри функции нет проверок на эту переменную а идет проверка на другую переменную if (!empty($cart[‘calculate_shipping’])) в итоге вызывается функция Shippings::calculateRates($shippings); и если у вас подключены сторонние службы доставки то при добавлении в корзину товара запрашиваются тарифы на стоимости доставки для корзины от сторонних API в следствии тормозит добавление корзины
Позже отпишуть как своими силами поправить
Конкретно стоит обратить внимание на вот этот участок кода функции fn_calculate_cart_content:
if (!empty($cart['calculate_shipping'])) {
$rates = Shippings::calculateRates($shippings);
foreach ($rates as $rate) {
$g_key = $rate['keys']['group_key'];
$sh_id = $rate['keys']['shipping_id'];
if ($rate['price'] !== false) {
$rate['price'] += !empty($product_groups[$g_key]['package_info']['shipping_freight']) ? $product_groups[$g_key]['package_info']['shipping_freight'] : 0;
$product_groups[$g_key]['shippings'][$sh_id]['rate'] = empty($product_groups[$g_key]['shippings'][$sh_id]['free_shipping']) ? $rate['price'] : 0;
} else {
unset($product_groups[$g_key]['shippings'][$sh_id]);
}
if (!empty($rate['service_delivery_time'])) {
$product_groups[$g_key]['shippings'][$sh_id]['service_delivery_time'] = $rate['service_delivery_time'];
}
}
}
Есть готовое решение?
Полгода назад обещали отписаться как своими силами поправить. Не дождались
Я отключил все стандартные модули расчёта стоимости\срока доставки (BoxBerry, СДЭК и т.д.) и настроил всё это через Edost. Больше не тормозит.
А можете скрины показать с новым чекаутом,как edost выглядит ? карта с ПВЗ сразу открывается ?
Edost обрабатывает на своих серверах информацию, как я понял. За счёт этого уходят тормоза с сайта. Самовывоз стандартный - на него Edost никак не влияет, карта такая же. Можно настраивать какие-то способы доставки через этот сервис, другие через стандартный модуль (если карта предпочтительней). Например, СДЭК и Боксбери - выдаётся список пунктов в городе без возможности выбора на карте. Пикпоинт - через Edost открывается стандартный виджет этой службы доставки с картой точек.
Из плюсов - можно регулировать срок доставки (+- дни), наценку или наоборот скидку. И решает нашу главную проблему - тормоза. Из минусов - ежемесячный тариф в зависимости от количества способов доставки.
Вам советую для начала попробовать отключить стандартные модули с расчётом стоимости\срока доставки и посмотреть на результат.
Модуль Деловые линии у меня тормозит безбожно - 11-13 секунд ему нужно на обработку