Не верный пересчет суммы скидки в "ОПТОВЫЕ СКИДКИ" Presta 1.6.1

Автор yug, 28 июля 2015, 00:09:36

« назад - далее »

yug

#45
Код отличается на "* 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));

mistral

http://forge.prestashop.com/browse/PSCSX-3542
Тут написали что исправли. Нужно в этой же теме добавить, что исправления не помогли. А то так никогда не исправят эту ошибку.

PrestaMan

Написано исправлено, но в версии prestashopкоторую скачиваешь, проблема осталась. Об этом уже писали.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

DarinSr

Попробуйте заменить файл product.js на приложенный файл.

yug

Цитата: DarinSr от 31 июля 2015, 19:12:55
Попробуйте заменить файл product.js на приложенный файл.

Спасибо.
Как говорил наш преподаватель:"те же гайки,только в профиль". - скидка выводится верно, а квадратики "цвет" в комбинации на клик "подмигивают" так, если бы для них не было назначено изображение товара.

yug

Цитата: mistral от 31 июля 2015, 15:38:52
http://forge.prestashop.com/browse/PSCSX-3542
Тут написали что исправли. Нужно в этой же теме добавить, что исправления не помогли. А то так никогда не исправят эту ошибку.
Написал в новую тему, эта закрыта.

DarinSr

На стандарной теме prestashop 1.6.1.0 этот файл работает. Сумму скидок показывает верно, переключение атрибутов и изображений работает.
В этом файле изменена только 1-на функция обновления таблицы оптовых цен. Функции работы с атрибутами не менялись.
Очистите кеш и попробуйте еще раз.

Mr.Sen

Действительно работает. Скидку считает правльно и цвета переключаются.
Но это только на prestashop 1.6.1. На других не работает.

yug

#53
Подскажит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

Mr.Sen

Такая ошибка была исправлена в prestashop версии 1.6.0.7
http://forge.prestashop.com/browse/PSCSX-1835
Нужно в шаблоне product.tpl
заменить
{$group_reduction}
на
{1-$group_reduction}

yug

#55
{/if}
{if isset($group_reduction)}
{addJsDef groupReduction=$group_reduction|floatval} /- менять только в этой строчке? Я правильно понял?
{else}

Миколас


yug

#57
Цитата: Nikola от 02 августа 2015, 13:56:20
{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 ребята сами не разберутся профиксили или нет :)

mistral

В firebug нужно отследить событие замены цены. У вас может быть на id="our_price_display" и class="price" навешенно несколько событий.

yug

#59
Цитата: mistral от 03 августа 2015, 09:02:51
В 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.
на большего моих знаний не хватит.