[Решено] Разделение тысяч пробелом

  • 27 Ответов
  • 7932 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн nikonor

  • *****
  • 513
  • [+]56 / [-]0
  • Content Grabber
    • Просмотр профиля
    • Древна
Не знаю у кого как, но у меня пробел в качестве разделителя тысяч ставиться категорически отказывался (в любых вариантах написания).
Немного поковырялся в коде ...

Если вдруг кто-то столкнется - вот решения.

1. Правка файла currencydisplay.php (administrator\components\com_virtuemart\helpers\)
строка 464$res = number_format((float)$nb,$nbDecimal,$this->_decimal,$this->_thousands);меняем это на $res = number_format((float)$nb,$nbDecimal,$this->_decimal,' ');
2. Меняем тип данных в БД
Таблица virtuemart_currencies, поле currency_thousands, меняем тип с CHAR на VARCHAR
(о чем думали разработчики, если по спецификации mysql концевые пробелы у типа CHAR отсекаются)

Лично я для себя оставил второй вариант - в случае обновлений магазина скорее обновят файлы чем таблицы и , соответственно опять придется вносить изменения
 
« Последнее редактирование: 01.04.2012, 03:04:19 от nikonor »

*

Оффлайн web11

Re: [Решено] Разделение тысяч пробелом
« Ответ #1 : 31.10.2012, 13:57:30 »
Спасибо за нужное решение!
virtuemart2.info - блог о virtuemart 2

RE: Разделение тысяч пробелом
« Ответ #2 : 05.12.2012, 01:34:33 »
Не работает пишет ошибку в линии 465

*

Оффлайн nikonor

  • *****
  • 513
  • [+]56 / [-]0
  • Content Grabber
    • Просмотр профиля
    • Древна
RE: Разделение тысяч пробелом
« Ответ #3 : 05.12.2012, 01:38:41 »
я так понял вы имеете ввиду 1 способ ... ну дык попробуйте второй :)

*

Оффлайн nadaff

Re: Разделение тысяч пробелом
« Ответ #4 : 14.12.2012, 20:52:13 »
Отличное решение, спасибо!
Сделал по первому способу (лень базу трогать)

в версии 2.0.14 332 строчка  ^-^
« Последнее редактирование: 14.12.2012, 20:58:33 от nadaff »

*

Оффлайн koshika

RE: Разделение тысяч пробелом
« Ответ #5 : 09.01.2013, 02:40:42 »
пробовала делать и то, и другое... на первое просто не реагирует, второе позволяет поставить пробел в админке, в настройках валюты, но на сайте ничего не меняется... так же стоит "вопросик". кэш чистила.

RE: Разделение тысяч пробелом
« Ответ #6 : 02.02.2013, 18:49:47 »
Попробовал 2-ой способ. Все ок.
Спасибо

*

Оффлайн dobv

RE: Разделение тысяч пробелом
« Ответ #7 : 20.02.2013, 14:47:01 »
Спасибо за второй вариант!

*

Оффлайн zru4na

RE: Разделение тысяч пробелом
« Ответ #8 : 06.04.2013, 13:25:19 »
Пробую второй вариант, но в типах данных нету VARCHAR. как быть?

*

Оффлайн nadaff

Re: Разделение тысяч пробелом
« Ответ #9 : 15.12.2013, 14:56:34 »
Товарищи! версия 2.0.24, что-то поменялось... Второй вариант с базой не срабатывает...
« Последнее редактирование: 15.12.2013, 19:58:50 от nadaff »

Re: Разделение тысяч пробелом
« Ответ #10 : 20.12.2013, 14:30:04 »
В версии VM2 версии 2.0.2 и выше  алгоритм немного меняется. Мы так же находим   virtuemart_currencies с вашим префиксом и меняем ту же строчку  currency_thousands в нужной вам валюте, но ставим туда уже не "VARCHAR", а "."  Надписи "CHAR'' там изначально не будет. Нужно поставить символ, который будет разделителем - у меня ".", как я указал предложением ранее.
« Последнее редактирование: 20.12.2013, 14:35:21 от Watcher17 »

*

Оффлайн ovit

RE: Разделение тысяч пробелом
« Ответ #11 : 20.12.2013, 17:10:13 »
А у меня сработало по второму варианту (VM 2.0.26). Замена CHAR на VARCHAR - это замена ТИПА поля, а не значения. После изменения типа поля, меняем его значение, например на пробел, - можно через настройку валюты в  админке VM.

RE: Разделение тысяч пробелом
« Ответ #12 : 20.01.2014, 14:09:28 »
VM 2.0.22 Второй способ работает!
Спасибо!

*

Оффлайн nikonor

  • *****
  • 513
  • [+]56 / [-]0
  • Content Grabber
    • Просмотр профиля
    • Древна
RE: Разделение тысяч пробелом
« Ответ #13 : 20.01.2014, 14:31:32 »
Пожалуйста! :)

*

Оффлайн RivalNoX

RE: Разделение тысяч пробелом
« Ответ #14 : 30.05.2014, 23:14:00 »
Спасибо! Первый вариант помог!

RE: Разделение тысяч пробелом
« Ответ #15 : 06.07.2014, 01:57:45 »
А подскажите пожалуйста, как реализовать разделители, например, в таком виде 4 355 000 руб.?

*

Оффлайн nikonor

  • *****
  • 513
  • [+]56 / [-]0
  • Content Grabber
    • Просмотр профиля
    • Древна
RE: Разделение тысяч пробелом
« Ответ #16 : 06.07.2014, 02:05:41 »
разве так же как и с тысячами не получается?

у меня работает

RE: Разделение тысяч пробелом
« Ответ #17 : 06.07.2014, 02:11:07 »
К сожалению, используя первое решение у меня делит только так 4 355000 руб.

*

Оффлайн nikonor

  • *****
  • 513
  • [+]56 / [-]0
  • Content Grabber
    • Просмотр профиля
    • Древна
RE: Разделение тысяч пробелом
« Ответ #18 : 06.07.2014, 02:12:25 »
попробуйте второй вариант ... он, кстати, предпочтительнее

RE: Разделение тысяч пробелом
« Ответ #19 : 06.07.2014, 02:33:58 »
Спасибо, но второй вариант у меня не сработал, VirtueMart 2.6.6, установил стандартные разделители "." - 4.355.000

*

Оффлайн nikonor

  • *****
  • 513
  • [+]56 / [-]0
  • Content Grabber
    • Просмотр профиля
    • Древна
RE: Разделение тысяч пробелом
« Ответ #20 : 06.07.2014, 02:41:19 »
вообще можете на крайний случай сделать так:
в шаблоне найдите переменную, которая отвечает за вывод цены (например $price) и напишите
Код: (php) [Выделить]
str_replace('.', ' ', $price); где первый параметр - ваш разделитель (у вас точка сейчас), а второй, то на что вы его хотите заменить (в нашем случае на пробел)

*

Оффлайн k0st1k

Re: Разделение тысяч пробелом
« Ответ #21 : 03.01.2015, 22:00:02 »
У меня получилось так, ввел в том злополучном поле (в русской версии звучит как "Тысячный разделитель"): " .".

Еще раз для понятности, в том поле ввел "ПРОБЕЛ и точку" и нажал сохранить. Все заработало. Получаете разделители тысяч.

Вот у меня запятые не удалось убрать, ну копейки. Хочу отображение цены 1 200руб. а у меня 1 200,00.  и 00 гребаных копеек. :) очень они не нужны. Поможете?

*

Оффлайн kapam

RE: Разделение тысяч пробелом
« Ответ #22 : 25.03.2015, 15:30:37 »
VM3, второй метод сработал, спасибо!

RE: Разделение тысяч пробелом
« Ответ #23 : 29.06.2015, 21:06:35 »
VM3, второй способ работает.
Огромное человеческое сапсибо тебе, "nikonor"!

*

Оффлайн Gig

RE: Разделение тысяч пробелом
« Ответ #24 : 10.07.2015, 20:11:34 »
Всем привет, такая проблема возникла. При вводе цены нули скашиваются, то есть например цена должна быть 1.200р после ввода и сохранения система ставит 1.2р хотя должно быть 1.200р в чем может быть причина?

*

Оффлайн Gig

RE: Разделение тысяч пробелом
« Ответ #25 : 10.07.2015, 20:20:38 »
решил проблему, оказывается разные символы стояли в валютах - разделители тысячных, везде проставил запятую, и при вводе цены ставишь - применить параметры.

*

Оффлайн Alll77

RE: Разделение тысяч пробелом
« Ответ #26 : 06.02.2016, 23:43:17 »
Спасибо! Второй способ помог ( Joomla! 2.5.28| VirtueMart 3.0.6.2)

*

Оффлайн cc20

RE: Разделение тысяч пробелом
« Ответ #27 : 19.02.2016, 14:07:38 »
СПАСИБО! Второй способ ( Joomla! 3.4.8| VirtueMart 3.0.12)