Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

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

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[img]/images/smiles/shakefist.gif[/img]

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
Сообщений: 962

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