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

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

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

yug

Здравствуйте.

Преста 1,6,1, стандартный шаблон.
После "ручного" апдейта  с 1,6,0 до 1,6,1 возникла проблема с пересчетом суммы скидки в разделе "ОПТОВЫЕ СКИДКИ" - вывод на страницу товара правила скидок из каталога:
Основная валюта  -евро, при пересчете  в доллар или гривну выводится значение цены товара =( (цена в евро * курс (евро/гривна))-скидка)*курс (евро/гривна), т.е при должной цене товара со скидкой 100 грн, отображается 2400 грн.
Товары добавленные после обновления расчитываются без ошибки.
Если поменять абсолютное уменьшение на процент ничего не изениться.
Шаманство с удаленим валют и добавлением снова то же не помогло :)
Данне из старого в новый магазин ереносил копируя данные таблиц в ПХПмойАдмин.

Очень нужна помощь в решении проблемы.
Спасибо.

DarinSr

У вас не обновилось часть файлов. Нужно сравнить файлы (по имени, размеру, дате) и перенести недостающие или заменить старые на новые.
diff поможет, эта команда служит для выявления различий между двумя файлами или всеми соответствующими файлами в двух директориях.

yug

#2
Спасибо за отрвет.
Cкорее нет, чем да. :)
Я установил 1,6,1 начисто, скопировал /картинки , после чего перенес содержание таблиц товаров., /мета и т.п.
Обратите внимание, новый товар рассчитывается без ошибки. Еще как вариант допускаю добавление каких то атрибутов в таблицы от MagicOne Store..., Хотя, я вчера сравнивал содержимое таблицы .проддукт для товаров которые выводятся с ошибкой и без -разницы нет.  В общем мозг погнул изрядно об этот вопрос :)

DarinSr

У вас ошибка при переносе данных о товаре и скидках. Если переносили данные на новую версию, то делать это нужно с помощью импорта / экспорта. При перносе вы где-то не учли связей между таблицами. Искать и исправлять долго, быстрее заново сделать экспорт/импорт.

DarinSr

Можете протестиировать с помощью включения в /config/defines.inc.php профилирования
define('_PS_DEBUG_PROFILING_', true);
Внизу страницы выдаст все запросы и переменные страницы. Сравните вывод старых и новых товаров.


yug

#6
UPD
сори, не верно определил.

mAgency

Такая ошибка только на одной странице? Только в карточке товара или на странице категории?
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

yug

#8
только в рзделе "ОПТОВЫЕ СКИДКИ" карточки товара. Т.е. пересчет цены по правилу скидки. Сама цена считается правильно.

mAgency

А у вас не переопределен контроллер ProductController.php для показа цен в нескольких валютах?
Если нет, то замените в шаблоне product.tpl метод convertPriceFull на convertPrice.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

Mr.Sen

В блоке "ОПТОВЫЕ СКИДКИ"  показ цен должен быть такой
{convertPrice price = $productPrice°$quantity_discount.reduction|floatval}

yug

Цитата: mAgency от 28 июля 2015, 13:27:02
А у вас не переопределен контроллер ProductController.php для показа цен в нескольких валютах?
Если нет, то замените в шаблоне product.tpl метод convertPriceFull на convertPrice.

В файле product.tpl - convertPrice изначально.

yug

#12
В продукт.тпл
Я правильно понял, здесь исправлять все "convertPrice price = ..." ?

mAgency

Исправить не нужно, проверьте в самом верху шаблона определение этих переменных
{if !$priceDisplay || $priceDisplay == 2}
{assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, $priceDisplayPrecision)}
{assign var='productPriceWithoutReduction' value=$product->getPriceWithoutReduct(false, $smarty.const.NULL)}
{elseif $priceDisplay == 1}
{assign var='productPrice' value=$product->getPrice(false, $smarty.const.NULL, $priceDisplayPrecision)}
{assign var='productPriceWithoutReduction' value=$product->getPriceWithoutReduct(true, $smarty.const.NULL)}
{/if}


Нужно найти convertPriceFull, где вы его используете, заменить на convertPrice.
У вас были переделанны стандартные функции в старой версии, поэтому в новой ошибки.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

yug

#14
Было в файле:
assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, 6)
исправил на:
assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, $priceDisplayPrecision)
пока не помогло.
В самом файле фраза "convertPriceFull" - отсутсвует.
сейчас отпущу искать "convertPriceFull" по всей папке, отпишусь по результату