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

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

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

coder

У комбинаций цена установлена как влияние на основную цену?
Ошибка с комбинациями и для старых и для новых товаров? 

yug

Цитата: coder от 30 июля 2015, 14:40:55
У комбинаций цена установлена как влияние на основную цену?
Ошибка с комбинациями и для старых и для новых товаров?

Только что проверил:
У старого товаа удалил комбинации, "вы экономите" - сразу пришло в норму :), для этого товара в комбинациях цена не изменялась.
Та же итория с новым товаром.

yug

Цитата: DarinSr от 30 июля 2015, 13:21:40
Какой код у вас в product.tpl для расчете скидки, там где вывод discountPrice?

td>
                           <span>{l s='Up to'}</span>
                           {if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
                              {$discountPrice=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
                           {else}
                              {$discountPrice=$productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
                           {/if}
                           {$discountPrice=$discountPrice * $quantity_discount.quantity}
                           {$qtyProductPrice=$productPriceWithoutReduction|floatval * $quantity_discount.quantity}
                           {convertPrice price=$qtyProductPrice - $discountPrice}
                        </td>

{if isset($combinations) && $combinations}
   {addJsDef combinations=$combinations}
   {addJsDef combinationsFromController=$combinations}
   {addJsDef displayDiscountPrice=$display_discount_price}
   {addJsDefL name='upToTxt'}{l s='Up to' js=1}{/addJsDefL}
{/if}

Я так понимаю это "по умолчанию" - шаблон не меняли

coder

Шаблон стандарный,значит поблема только в сохраненных данных.

yug

Цитата: coder от 30 июля 2015, 15:39:37
Шаблон стандарный,значит поблема только в сохраненных данных.

В данных и в том как они обрабатываются.
Помогите, пожалуйста, разобратьсяя в слдующем:
шаблон карточки считает и выводит стоимость товара со скидкой:
var='productPrice' - то, что выводиться на экран
var='productPriceWithoutReduction' - та цена которую я внес в карточку
specificPrice.reduction - скидка, которую я опрделяю в правиле
specific_currency - основная валюта магазина

Где это все собирается в кучу? в смысле  где проверяется валюта, которая на странице выбрана, и пересчитывается относительно основной?
я так понимаю, там и должна быть ошибка: неверно возвращается значение id для uah.


Миколас


Миколас

А смена валюты в блоке валют - tools.js  функция setCurrency(id_currency).

PrestaMan

И не только там. Есть модули которые тоже могут влиять на валюту.
Модуль ganalytics, в нем функциея GoogleAnalyticEnhancedECommerce.
http://prestashop-forum.ru/index.php/topic,2210.msg28718.html#msg28718

Также при загрузки шаблонов может меняться валюта:
http://prestashop-forum.ru/index.php/topic,2210.msg28726.html#msg28726
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

yug

Я перед тем как в дебри лезть поставил на на локальном компе престашоп, сежескачанный, на чистую базу.
Свежий Линукс Дебиан, LAMP.
Валюта по умолчанию - грн. Для евро ошибка в поле "Вы экономите", на демо данных. Товар без комбинаций - ошибки нет.
Огроммная просьба помочь с устраненим ошибки.

Mr.Sen

Замените файл /themes/default-bootstrap/js/product.js.
Но это для стандартной темы.

yug

#40
Цитата: Mr.Sen от 30 июля 2015, 22:41:19
Замените файл /themes/default-bootstrap/js/product.js.
Но это для стандартной темы.
Огромное спасибо!
Раотает! :D

UPD:
баг вылез - теперь не отображается изменение цены из комбинации  и привязаное изображение в карточке.

yug

Если есть возможность, подскажите, пожалуйста, код и место вставки латки, если это конечно поможет, примерно такого содержания:
если валютаID на станице не равно 2 (евро), то переменная "вы экономите" = Вы экономите / курс валютаID

DarinSr

У вас в файле /themes/default-bootstrap/js/product.js
в функции
function updateDiscountTable(newPrice)
какой код?
if (displayDiscountPrice != 0)
$(this).children('td').eq(1).text( formatCurrency(discountedPrice, currencyFormat, currencySign, currencyBlank) );
$(this).children('td').eq(2).text(upToTxt + ' ' + formatCurrency(discountUpTo, currencyFormat, currencySign, currencyBlank));


Миколас

Fix #PSCSX-3542, Convert currency in volume discount table (product.js)
http://forge.prestashop.com/browse/PSCSX-3542
Этот баг уже пофиксили, скачайте новый файл с github

yug

Цитата: Nikola от 31 июля 2015, 13:31:50
Fix #PSCSX-3542, Convert currency in volume discount table (product.js)
http://forge.prestashop.com/browse/PSCSX-3542
Этот баг уже пофиксили, скачайте новый файл с github
\

https://github.com/PrestaShop/PrestaShop/blob/1f8dba8274c3867519000ba1898837bd8620ec3d/themes/default-bootstrap/js/product.js

Комбинации товара не переключаются (картинка комбинации не меняется) и цена комбинации не изменяется.