Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 Корзина. Некорректная стоимость доставки
ahospes
Новичок
Сообщений: 18
Регистрация: 20-06-2015


20-06-2015 19:24
Здравствуйте!


Подскажите, пожалуйста, выпадающее меню корзины (когда наводишь на нее мышкой) - это по умолчанию? Или это прописано как-то где-то в коде ручками? или модуль какой?
Столкнулась с проблемой, но не знаю, помогут ли на форуме, так как сомневаюсь что выпадающее меню - это стандартно в престе.

Стоимость доставки высчитывается через локализацию.
Ситуация такая. Незарегистрированный клиент набирает себе товара в корзину, и корзина (когда на нее наводишь мышкой) пишет "бесплатная доставка!", а потом когда он уже оформляет заказ, регистрируется, указывает, где он находится, он узнает что доставка в его город, к примеру, 300 рублей, и собственно, в корзине тоже меняется на 300. Недовольный клиент звонит и жалуется, что сначала ему сказали, что доставка бесплатна, а на деле это не так. И замечу, что бесплатную доставку как таковую я ни одному региону не прописывала

Вот это вот "бесплатная доставка!" есть только в выпадающем меню, а когда кликаешь и заходишь в корзину, то уже все в порядке - если нет регистрации, ничего о доставке не пишет, если есть прописывает сумму "итого за доставку".

Подскажите, пожалуйста, как поправить

Спасибо!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


20-06-2015 20:12
Откройте файл /themes/тема/js/modules/blockcart/ajax-cart.js
Код:
if (parseFloat(jsonData.shippingCostFloat) > 0)
    $('.ajax_cart_shipping_cost').text(jsonData.shippingCost).parent().find('.unvisible').show();
else if ((hasDeliveryAddress || typeof(orderProcess) !== 'undefined' && orderProcess == 'order-opc') && typeof(freeShippingTranslation) != 'undefined')
    $('.ajax_cart_shipping_cost').html(freeShippingTranslation);
else if (!hasDeliveryAddress)
    $('.ajax_cart_shipping_cost').html(toBeDetermined);

замените на:
Код:
if (typeof jsonData.shippingCostFloat !== 'undefined')
    ('.ajax_cart_shipping_cost').text(jsonData.shippingCost).parent().find('.unvisible').show();
else
    $('.ajax_cart_shipping_cost').parent().addClass('unvisible').hide();
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ahospes
Новичок
Сообщений: 18
Регистрация: 20-06-2015


21-06-2015 20:21
Благодарю! У меня там несколько более длинный код, вот такой:

if (parseFloat(jsonData.shippingCostFloat) > 0)
$('.ajax_cart_shipping_cost').text(jsonData.shippingCost);
else if (typeof(freeShippingTranslation) != 'undefined')
$('.ajax_cart_shipping_cost').html(freeShippingTranslation);

$('.ajax_cart_tax_cost').text(jsonData.taxCost);
$('.cart_block_wrapping_cost').text(jsonData.wrappingCost);
$('.ajax_block_cart_total').text(jsonData.total);
$('.ajax_block_products_total').text(jsonData.productTotal);
$('.ajax_total_price_wt').text(jsonData.total_price_wt);

if (parseFloat(jsonData.freeShippingFloat) > 0)
{
$('.ajax_cart_free_shipping').html(jsonData.freeShipping);
$('.freeshipping').fadeIn(0);
}
else if (parseFloat(jsonData.freeShippingFloat) == 0)
$('.freeshipping').fadeOut(0);

this.nb_total_products = jsonData.nbTotalProducts;

Какую часть из него заменить? пробовала только первые четыре строки - ничего не поменялось
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


22-06-2015 04:19
Цитата:( ahospes @ 21-06-2015 21:21 Смотреть сообщение )
ничего не поменялось

Внесите изменения и приложите ссылку на ваш интернет-магазин, а также снимок экрана со страницы Панель управления > Доставка
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ahospes
Новичок
Сообщений: 18
Регистрация: 20-06-2015


23-06-2015 05:08
поменяла первые четыре строки, стало выглядеть вот так

Код:
if (typeof jsonData.shippingCostFloat !== 'undefined')
    ('.ajax_cart_shipping_cost').text(jsonData.shippingCost).parent().find('.unvisible').show();
else
    $('.ajax_cart_shipping_cost').parent().addClass('unvisible').hide();

        $('.ajax_cart_tax_cost').text(jsonData.taxCost);
        $('.cart_block_wrapping_cost').text(jsonData.wrappingCost);
        $('.ajax_block_cart_total').text(jsonData.total);
        $('.ajax_block_products_total').text(jsonData.productTotal);
        $('.ajax_total_price_wt').text(jsonData.total_price_wt);

        if (parseFloat(jsonData.freeShippingFloat) > 0)
        {
            $('.ajax_cart_free_shipping').html(jsonData.freeShipping);
            $('.freeshipping').fadeIn(0);
        }
        else if (parseFloat(jsonData.freeShippingFloat) == 0)
            $('.freeshipping').fadeOut(0);

        this.nb_total_products = jsonData.nbTotalProducts;


ничего не поменялось.
сайт ИМ: http://rocknride.ru/
скриншот меню доставки прилагаю


Сообщение отредактировано ahospes 23-06-2015 06:16 ...


Изображения:
Снимок экрана 2015-06-23 в 1.17.14.png - Размер файла119.63KB, Скачиваний: 227 (Нажмите для увеличения)
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


23-06-2015 14:49
Цитата:( ahospes @ 23-06-2015 06:08 Смотреть сообщение )
ничего не поменялось.


В сообщении выше допущена ошибка (пропущен знак $).
В этом коде:
Цитата:( Алекс @ 20-06-2015 21:12 Смотреть сообщение )
Код:
if (typeof jsonData.shippingCostFloat !== 'undefined')
    ('.ajax_cart_shipping_cost').text(jsonData.shippingCost).parent().find('.unvisible').show();
else
    $('.ajax_cart_shipping_cost').parent().addClass('unvisible').hide();

в строке:
Код:
('.ajax_cart_shipping_cost').text(jsonData.shippingCost).parent().find('.unvisible').show();

добавьте: $
пример:
Код:
$('.ajax_cart_shipping_cost').text(jsonData.shippingCost).parent().find('.unvisible').show();
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ahospes
Новичок
Сообщений: 18
Регистрация: 20-06-2015


24-06-2015 05:19
благодарю!
вроде как подействовало. только теперь вместо "бесплатная доставка!" там пишется "доставка 0,00 руб". в глаза уже бросается менее. но
может можно как-нибудь вовсе убрать оттуда про доставку?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


24-06-2015 19:32
Цитата:( ahospes @ 24-06-2015 06:19 Смотреть сообщение )
может можно как-нибудь вовсе убрать оттуда про доставку?


Код:
if (typeof jsonData.shippingCostFloat !== 'undefined')

замените на:
Код:
if (typeof jsonData.shippingCostFloat !== 'undefined' && (parseFloat(jsonData.shippingCostFloat) > 0)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ahospes
Новичок
Сообщений: 18
Регистрация: 20-06-2015


25-06-2015 04:48
Заменила, но теперь когда наводишь на корзину, нет выпадающего окна вовсе
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


25-06-2015 13:11
В сообщении выше допущена ошибка (пропущен знак )).
Это:
Код:
if (typeof jsonData.shippingCostFloat !== 'undefined' && (parseFloat(jsonData.shippingCostFloat) > 0)

замените на:
Код:
if (typeof jsonData.shippingCostFloat !== 'undefined' && (parseFloat(jsonData.shippingCostFloat) > 0))
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >