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

28 Июля 2015, 00:09:36
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.

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

Очень нужна помощь в решении проблемы.
Спасибо.
28 Июля 2015, 11:19:33
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У вас не обновилось часть файлов. Нужно сравнить файлы (по имени, размеру, дате) и перенести недостающие или заменить старые на новые.
diff поможет, эта команда служит для выявления различий между двумя файлами или всеми соответствующими файлами в двух директориях.
28 Июля 2015, 11:33:49
Ответ #2
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за отрвет.
Cкорее нет, чем да. :)
Я установил 1,6,1 начисто, скопировал /картинки , после чего перенес содержание таблиц товаров., /мета и т.п.
Обратите внимание, новый товар рассчитывается без ошибки. Еще как вариант допускаю добавление каких то атрибутов в таблицы от MagicOne Store..., Хотя, я вчера сравнивал содержимое таблицы .проддукт для товаров которые выводятся с ошибкой и без -разницы нет.  В общем мозг погнул изрядно об этот вопрос :)
28 Июля 2015, 11:38:16
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У вас ошибка при переносе данных о товаре и скидках. Если переносили данные на новую версию, то делать это нужно с помощью импорта / экспорта. При перносе вы где-то не учли связей между таблицами. Искать и исправлять долго, быстрее заново сделать экспорт/импорт.
28 Июля 2015, 11:41:10
Ответ #4
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можете протестиировать с помощью включения в /config/defines.inc.php профилирования
define('_PS_DEBUG_PROFILING_', true);Внизу страницы выдаст все запросы и переменные страницы. Сравните вывод старых и новых товаров.
28 Июля 2015, 11:56:14
Ответ #5
28 Июля 2015, 13:16:59
Ответ #6
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
28 Июля 2015, 13:21:59
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Такая ошибка только на одной странице? Только в карточке товара или на странице категории?
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
28 Июля 2015, 13:24:43
Ответ #8
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
только в рзделе "ОПТОВЫЕ СКИДКИ" карточки товара. Т.е. пересчет цены по правилу скидки. Сама цена считается правильно.
28 Июля 2015, 13:27:02
Ответ #9
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
А у вас не переопределен контроллер ProductController.php для показа цен в нескольких валютах?
Если нет, то замените в шаблоне product.tpl метод convertPriceFull на convertPrice.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
28 Июля 2015, 13:39:03
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1194
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В блоке "ОПТОВЫЕ СКИДКИ"  показ цен должен быть такой
{convertPrice price = $productPrice°$quantity_discount.reduction|floatval}
28 Июля 2015, 13:49:35
Ответ #11
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А у вас не переопределен контроллер ProductController.php для показа цен в нескольких валютах?
Если нет, то замените в шаблоне product.tpl метод convertPriceFull на convertPrice.

В файле product.tpl - convertPrice изначально.
28 Июля 2015, 13:50:16
Ответ #12
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В продукт.тпл
Я правильно понял, здесь исправлять все "convertPrice price = ..." ?
28 Июля 2015, 14:06:32
Ответ #13
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Исправить не нужно, проверьте в самом верху шаблона определение этих переменных
{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 ?
Решение всех Ваших вопросов в создании Интернет-магазина.
28 Июля 2015, 14:28:00
Ответ #14
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Было в файле:
assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, 6)исправил на:
assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, $priceDisplayPrecision)пока не помогло.
В самом файле фраза "convertPriceFull" - отсутсвует.
сейчас отпущу искать "convertPriceFull" по всей папке, отпишусь по результату