Автор Тема: Проблема со скидкой  (Прочитано 1056 раз)

09 Октября 2014, 15:33:17
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброе время суток.
У меня появилась проблема. При добавлении комбинаций к товару скидка на товар принимает вид очень длинного числа. Т.е. очень точного (float).
вот пример http://sport-supplements.com.ua/proteiny/87-protein-shake-750-g.html
В файле product.tpl, shopping-cart-product-line.tpl делал вот такую вот строку
{$priceReductonPercent|round|string_format:"%d"}%

все равно не помогло. В чем проблема?
Помогите разобраться.. Заранее спасибо.
09 Октября 2014, 15:50:01
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86054
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}-{$product->specificPrice.reduction*100}%{/if}У вас в шаблоне такой код?
09 Октября 2014, 16:03:37
Ответ #2
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}-{$product->specificPrice.reduction*100}%{/if}У вас в шаблоне такой код?

да код такой.
09 Октября 2014, 18:08:49
Ответ #3
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Что с этим кодом нужно сделать?
09 Октября 2014, 18:48:44
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$priceReductonPercent|Эта переменная где у вас определена?
09 Октября 2014, 19:11:25
Ответ #5
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$priceReductonPercent|Эта переменная где у вас определена?

В каком файле или в ком месте?
она определенна в файле
shopping-cart-product-line.tpl

{if !$priceDisplay}
<span class="price{if isset($product.is_discounted) && $product.is_discounted} special-price{/if}">{convertPrice price=$product.price_wt}</span>
{else}
                <span class="price{if isset($product.is_discounted) && $product.is_discounted} special-price{/if}">{convertPrice price=$product.price}</span>
{/if}
{if isset($product.is_discounted) && $product.is_discounted}
                <span class="price-percent-reduction small">
                    {assign var='priceReductonPercent' value=(($product.price_without_specific_price - $product.price_wt)/$product.price_without_specific_price) * 100 * -1}
{$priceReductonPercent|round|string_format:"%d"}%
                    </span>
<span class="old-price">{convertPrice price=$product.price_without_specific_price}</span>
09 Октября 2014, 19:24:53
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У вас своя тема, ваших переменных не знаю, поэтому пишу как у меня. В этом шаблоне вот такой код работает нормально:
{assign var='priceReduction' value=(($product.price_without_specific_price - $product.price_wt)/$product.price_without_specific_price) * 100 * -1}
{assign var='symbol' value='%'}
{$priceReduction|string_format:"%.2f"}{$symbol}
Замените своими переменными и должно показывать хорошо.
09 Октября 2014, 19:54:21
Ответ #7
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У вас своя тема, ваших переменных не знаю, поэтому пишу как у меня. В этом шаблоне вот такой код работает нормально:
{assign var='priceReduction' value=(($product.price_without_specific_price - $product.price_wt)/$product.price_without_specific_price) * 100 * -1}
{assign var='symbol' value='%'}
{$priceReduction|string_format:"%.2f"}{$symbol}
Замените своими переменными и должно показывать хорошо.

К сожалению не помогло. Возможно не в этом причина?
Возможно проблема в самых атрибутах.
У меня движок 1.6.0.5
Не могу разобрать в чем причина.

Ради эксперимента удалил функцию вывода с переменной $priceReduction. В результате ничего не изменилось.
Возможно есть определенные настройки которые перекопелирывают файлы.

Файлы из дефолтной темы Presta.
09 Октября 2014, 20:44:27
Ответ #8
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я думаю проблема в этом:
<p id="reduction_percent" {if !$product->specificPrice || $product->specificPrice.reduction_type != 'percentage'} style="display:none;"{/if}>
  <span id="reduction_percent_display">
  {if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}-{$product->specificPrice.reduction*100}%{/if}
  </span>
  </p>
Только не знаю как её решить.
09 Октября 2014, 21:00:26
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Такой код не работает?
{$priceReductonPercent|string_format:"%.2f"} %
09 Октября 2014, 21:03:53
Ответ #10
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Такой код не работает?
{$priceReductonPercent|string_format:"%.2f"} %
нет.
09 Октября 2014, 21:08:43
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тогда ищите в javascripte файлах, которые подключаются на этой страницы. Возможно у вас происходит замена значения этого поля через javascript.
09 Октября 2014, 21:12:31
Ответ #12
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тогда ищите в javascripte файлах, которые подключаются на этой страницы. Возможно у вас происходит замена значения этого поля через javascript.

Когда-то переделал админку. В файле допустил ошибку, из-за нее перестали работать джава скрипты. Т.е. выпадающего меню не было (подменю) все флешь пропали. Рисунки стали не масштабируемыми. НО! Вывод скидки стал нормальным. Т.е. джава не работали и все цены были нормальные.
09 Октября 2014, 21:16:05
Ответ #13
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
я в javascript не сильно шарю, подскажите с чего начать и как найти нужный?
09 Октября 2014, 21:36:49
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Т.е. джава не работали и все цены были нормальные.
Значит точно у вас подмена полей через javascript.

Смотреть какие js-файлы полключаются можно в firefox. Установите firebug, занрузине нужную страницу, нажмите F12.
Выберите Script, покажет все js-файлы.
Затем ищите в эих файлах поиском название поля, в котором меняется цена.