Регистрация
Вход через соцсети
Восстановление пароля

Инет-магаз: пробел в Разделитель групп разрядов

Новый топик
22.11.2010, 15:44
Ответить | Цитировать
MipH
Спирин Дмитрий
MipH

Зарегистрирован:
2004-12-22
Сообщений: 252

Понадобилось в интернет-магазине, чтобы в стоимости тясяча разрядов разделялась пробелом. Для этого в настройках магазина есть параметр "Разделитель групп разрядов". Он может содержать один символ, все остальное обрезается (вроде как). Только вот и пробел оттуда вырезается (тримится, видимо, на этапе сейва).
Однако в методе FormatCurrency инет-магаза (function.inc.php) еще с ранних версий для этого есть такая вот неописанная в документации затычка:
Код:
if ($params["ThousandSep"]=='[space]') { $params["ThousandSep"] = ' '; }


Так что просто вставляем в качестве параметра значение [space] и получаем пробел в качестве разделителя тысяч разрядов.

P.S. отвратительно работает WYSIWYG тут на форуме при добавлении. А после нажатия превью чуть текст не потерял, пришлось нажать в браузере НАЗАД. Ну и мне все кавычки тремя слэшами заэкранировало в коде (после каждого превью по одному слэшу).

bbzone@gmail.com | bbz.ru | miph.info | miph.ru
Вы можете обратиться ко мне, если необходима разработка функционала на NetCat
23.11.2010, 01:02
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

ага, а можно еще и ручками через sprintf или регуляркой эти разряды выделять.

Цитата:
P.S. отвратительно работает WYSIWYG тут на форуме при добавлении. А
после нажатия превью чуть текст не потерял, пришлось нажать в браузере
НАЗАД. Ну и мне все кавычки тремя слэшами заэкранировало в коде (после
каждого превью по одному слэшу).


+1Изображение

Temet nosce...
27.02.2012, 02:55
Ответить | Цитировать
Гость
Гость

Цитата:
...Так что просто вставляем в качестве параметра значение [space] и получаем пробел в качестве разделителя тысяч разрядов...

Полезный пост. Благодарю улыбка
05.09.2013, 12:12
Ответить | Цитировать
kras

Зарегистрирован:
2012-10-30
Сообщений: 16

так же над отметить (т.к. прошло десять лет с топикстарта, но в пятом NetCat воз и ныне там), что у данной функции есть баг: если указать в качетсве количества цифр после запятой 0, то их все равно благополучно выведется две, потому что
Код:
$params["Decimals"] ? $params["Decimals"] : NETCAT_MODULE_NETSHOP_CURRENCY_DECIMALS

конечно же воспринимает 0 как false
решение:
Код:
($params["Decimals"] or $params["Decimals"]==0) ? $params["Decimals"] : NETCAT_MODULE_NETSHOP_CURRENCY_DECIMALS

заменить второй параметр на это

/netcat/modules/netshop/NetShopDeprecated.class.php строка 815
21.09.2013, 16:22
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Кстати да, я тоже с децималз прободался долго и тоже в итоге вылез на данную ошибку в исходнике. улыбка "Вылечил", правда, без исправления исходника - вместо нуля в поле поставил отрицательное значение. :-)

198 196 10864
Описание проекта