Конвертация цены в УК.

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 23 марта 2013 в 13:45
Заказчик захотел чтоб цены на товар были в долларах и с конвертацией в бел.рубли. Сделал конвертацию цены в УК вот таким методом <span>{$LANG.PRICE}:</span> {$item.price}$> {$item.price*8750} руб.
Где 8750 курс бел. рубля к доллару.
При цене менее 1000 дол. конвертация правильная Цена: 620.00$> 5425000 руб.
При цене более 1000 дол. вместо конвертируемой цены в бел.руб показывает курс *8750 и всё.
Цена: 1 050.00$> 8750 руб. — вот такая конструкция почему-то выходит..

Где и как это можно исправить?
Прикрепленный файл
android2yapfilesru_6o4m6.png 98 Кб
#2 23 марта 2013 в 19:26
Я бы лучше купил InstantShop… там полноценный магаз + тех.поддержка по любым вопросам. И конвертации вроде как были…
#3 23 марта 2013 в 19:40
{$item.price} — строка, при умножении конвертируется в числовой тип (int), а так как для тысяч идёт форматирование с пробелом после первой знач.цифры — получается 1×8750…
Делайте лучше преобразование перед передачей в шаблон, во frontend.php…
#4 23 марта 2013 в 20:15

Я бы лучше купил InstantShop.

MaV
— в шопе конвертации нет, там тоже таким макаром делал.
#5 23 марта 2013 в 20:16

• Mike •

— если не трудно подскажите как это сделать в frontend.php, что -то у меня не получается..
Я отблагодарю!
#6 23 марта 2013 в 20:34
версия какая cms?
#7 23 марта 2013 в 20:52
instantcms 1.9
#8 23 марта 2013 в 21:50
ищите:
встречается дважды, 573 и 758 строки
  1.  
  2. $item['price'] = number_format(shopDiscountPrice($item['id'], $item['category_id'], $item['price']), 2, '.', ' ');
  3.  
добавьте после (в двух случаях):
  1.  
  2. $item['price_alt'] = shopDiscountPrice($item['id'], $item['category_id'], $item['price']) * $curr;
  3.  
где $curr — значение курса валюты;
(по-хорошему, нужно вынести значение валюты в конфиг, чтобы не править каждый раз в коде)

в шаблоне вставляете в нужном месте {$item.price_alt}
#9 24 марта 2013 в 12:47
Сделал так как Вы написали, но всё равно при цене более 1000 конвертация не происходит!

а так как для тысяч идёт форматирование с пробелом

• Mike •
— где можно убрать этот пробел?
#10 24 марта 2013 в 13:34

Сделал так как Вы написали, но всё равно при цене более 1000 конвертация не происходит!

виталя
— что-то не так сделали…
  1.  
  2. $item['price'] = number_format(shopDiscountPrice($item['id'], $item['category_id'], $item['price']), 2, '.', ' ');
— последний параметр перед закрывающей круглой скобкой (пробел в одинарных кавычках)
  1. $item['price'] = number_format(shopDiscountPrice($item['id'], $item['category_id'], $item['price']), 2, '.', '');
без пробела
#11 24 марта 2013 в 14:07
  1. $item['price'] = number_format(shopDiscountPrice($item['id'], $item['category_id'], $item['price']), 2, '.', '');
удалил эти строки,
  1. $item['price_alt'] = shopDiscountPrice($item['id'], $item['category_id'], $item['price']) * $curr;
— а эти оставил
и всё стало в норме!
Спасибо отправлю на кошелёк!
#12 24 марта 2013 в 14:22
Ну просто придётся каждый раз курс менять в шаблоне, не особо удобно, ИМХО…
Если решение найдено, тему закройте…
#13 24 марта 2013 в 15:24
… спасибо ещё раз!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.