Автор Тема: Не верный пересчет суммы скидки в "ОПТОВЫЕ СКИДКИ" Presta 1.6.1  (Прочитано 3501 раз)

31 Июль 2015, 14:06:27
Ответ #45
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Код отличается на "* currencyRate"
if (displayDiscountPrice != 0)
$(this).children('td').eq(1).text( formatCurrency(discountedPrice * currencyRate, currencyFormat, currencySign, currencyBlank) );
$(this).children('td').eq(2).text(upToTxt + ' ' + formatCurrency(discountUpTo * currencyRate, currencyFormat, currencySign, currencyBlank));
31 Июль 2015, 15:38:52
Ответ #46
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
http://forge.prestashop.com/browse/PSCSX-3542
Тут написали что исправли. Нужно в этой же теме добавить, что исправления не помогли. А то так никогда не исправят эту ошибку.
31 Июль 2015, 15:53:58
Ответ #47
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Написано исправлено, но в версии prestashopкоторую скачиваешь, проблема осталась. Об этом уже писали.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
31 Июль 2015, 19:12:55
Ответ #48
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Попробуйте заменить файл product.js на приложенный файл.
31 Июль 2015, 22:31:33
Ответ #49
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Попробуйте заменить файл product.js на приложенный файл.

Спасибо.
Как говорил наш преподаватель:"те же гайки,только в профиль". - скидка выводится верно, а квадратики "цвет" в комбинации на клик "подмигивают" так, если бы для них не было назначено изображение товара.
31 Июль 2015, 22:33:52
Ответ #50
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
http://forge.prestashop.com/browse/PSCSX-3542
Тут написали что исправли. Нужно в этой же теме добавить, что исправления не помогли. А то так никогда не исправят эту ошибку.
Написал в новую тему, эта закрыта.
01 Август 2015, 11:27:22
Ответ #51
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
На стандарной теме prestashop 1.6.1.0 этот файл работает. Сумму скидок показывает верно, переключение атрибутов и изображений работает.
В этом файле изменена только 1-на функция обновления таблицы оптовых цен. Функции работы с атрибутами не менялись.
Очистите кеш и попробуйте еще раз.
01 Август 2015, 12:31:47
Ответ #52
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Действительно работает. Скидку считает правльно и цвета переключаются.
Но это только на prestashop 1.6.1. На других не работает.
01 Август 2015, 21:40:38
Ответ #53
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажитe, пжалуйста, в чем причина ошибки: при загрузке страницы товара, и переключении комбинаций такая ошибка:
// Apply group reduction
priceWithGroupReductionWithoutTax = basePriceWithoutTax * (1 - group_reduction); - Uncaught ReferenceError: group_reduction is not defined
var priceWithDiscountsWithoutTax = priceWithGroupReductionWithoutTax;
в консоле отсылка к 641 строке product.js и пояснения:
updatePrice @ product.js:641updateDisplay @ product.js:612findCombination @ product.js:446colorPickerClick @ product.js:971(anonymous function) @ product.js:245n.event.dispatch @ jquery-1.11.0.min.js:3n.event.add.r.handle @ jquery-1.11.0.min.js:3
02 Август 2015, 10:58:50
Ответ #54
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Такая ошибка была исправлена в prestashop версии 1.6.0.7
http://forge.prestashop.com/browse/PSCSX-1835
Нужно в шаблоне product.tpl
заменить
{$group_reduction}на
{1-$group_reduction}
02 Август 2015, 12:41:22
Ответ #55
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{/if}
{if isset($group_reduction)}
{addJsDef groupReduction=$group_reduction|floatval} /- менять только в этой строчке? Я правильно понял?
{else}
02 Август 2015, 13:56:20
Ответ #56
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
02 Август 2015, 22:12:42
Ответ #57
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{addJsDef group_reduction=1-$group_reduction}

Спасибо, пересчитывает сумму правильно и комбинации переключает.
UPD
В поле цена, сначала "подмигивает" правильная цена, после чего нули, для любой валюты.
<span id="our_price_display" class="price" itemprop="price" content="22.25814">0,00 €</span> предложенное на форуме "зануление" cache_default_attribute - результата не дало, если знаете решение, подскажите пожалуйста.

UPD
в этой теме PSCSX-1893 ребята сами не разберутся профиксили или нет :)
03 Август 2015, 09:02:51
Ответ #58
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В firebug нужно отследить событие замены цены. У вас может быть на id="our_price_display" и class="price" навешенно несколько событий.
03 Август 2015, 20:15:44
Ответ #59
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В firebug нужно отследить событие замены цены. У вас может быть на id="our_price_display" и class="price" навешенно несколько событий.

из 731 строчки product.js 
$('#our_price_display').text(formatCurrency(priceWithDiscountsDisplay * currencyRate, currencyFormat, currencySign, currencyBlank)).trigger('change');
переходит в jquery - 1.11.0 min.js , где цена становиться 0.00.
на большего моих знаний не хватит.