Posted 20 октября, 20177 yr comment_137968 Кто-нибудь сталкивался с необходимостью изменения количества отображаемых знаков после запятой в ценах Nexus? Куда копать? Link to comment https://ipbmafia.ru/topic/18545-otobrazhenie-ceny-v-nexus/ Share on other sites Больше вариантов
23 октября, 20177 yr Author comment_138159 Если кому понадобится: /applications/nexus/sources/Money/Money.php Функция - public static function numberOfDecimalsForCurrency( $currency ) Добавляем строку - case 'RUB': Куда добавлять строку определяем исходя из требуемого количества отображаемых знаков цены после запятой. Если вообще без знаков, то перед "return 0;", если 1, то перед "return 1;" и т.д. Link to comment https://ipbmafia.ru/topic/18545-otobrazhenie-ceny-v-nexus/?&do=findComment&comment=138159 Share on other sites Больше вариантов
24 октября, 20177 yr Author comment_138285 Хрену лысого... на локалке работает, а с локалями на сервере фигня какая-то... выше описанный способ может менять все остальные валюты, но не RUB. Есть у кого-нибудь возможность протестировать на своем сервере (не локальном)? Необходимо заменить функцию в /applications/nexus/sources/Money/Money.php с Спойлер public static function numberOfDecimalsForCurrency( $currency ) { switch ( $currency ) { case 'CLF': return 4; case 'BHD': case 'IQD': case 'JOD': case 'KWD': case 'LYD': case 'OMR': case 'TND': return 3; case 'MGA': case 'MRO': return 1; case 'BIF': case 'BYR': case 'CLP': case 'CVE': case 'DJF': case 'GNF': case 'ISK': case 'JPY': case 'KMF': case 'KRW': case 'PYG': case 'RWF': case 'UGX': case 'UYI': case 'VND': case 'VUV': case 'XAF': return 0; default: return 2; } } на Спойлер public static function numberOfDecimalsForCurrency( $currency ) { switch ( $currency ) { case 'CLF': return 4; case 'BHD': case 'IQD': case 'JOD': case 'KWD': case 'LYD': case 'OMR': case 'TND': return 3; case 'MGA': case 'MRO': return 1; case 'BIF': case 'BYR': case 'CLP': case 'CVE': case 'DJF': case 'GNF': case 'ISK': case 'JPY': case 'KMF': case 'KRW': case 'PYG': case 'RWF': case 'UGX': case 'UYI': case 'VND': case 'VUV': case 'XAF': case 'RUB': return 0; default: return 2; } } или установить плагин Tuning.xml Должна быть добавлена валюта RUB и у товара указана цена в рублях. Tuning.xml Link to comment https://ipbmafia.ru/topic/18545-otobrazhenie-ceny-v-nexus/?&do=findComment&comment=138285 Share on other sites Больше вариантов
24 октября, 20177 yr comment_138301 3 часа назад, Cheshir сказал: Должна быть добавлена валюта RUB и у товара указана цена в рублях. Не работает, валюта RUB не появляется! Пробовал через плагин и в ручную. Link to comment https://ipbmafia.ru/topic/18545-otobrazhenie-ceny-v-nexus/?&do=findComment&comment=138301 Share on other sites Больше вариантов
24 октября, 20177 yr Author comment_138302 3 минуты назад, Sipsb сказал: Не работает, валюта RUB не появляется! Пробовал через плагин и в ручную. Зараза... Думал в настройках сервак дело. Максимум до чего дошел, для всех валют убрать знаки после точки. Спасибо Sipsb. Link to comment https://ipbmafia.ru/topic/18545-otobrazhenie-ceny-v-nexus/?&do=findComment&comment=138302 Share on other sites Больше вариантов
25 октября, 20177 yr Author comment_138331 Работает, если дописать/изменить в том же /applications/nexus/sources/Money/Money.php в функции public function toString( \IPS\Lang $language ): if ( $this->currency == 'RUB' ){ $return = money_format( '%.0n', (string) $this->amount ); } elseif ( $this->currency == 'USD' ){ $return = money_format( '%.1n', (string) $this->amount ); } else { $return = money_format( '%n', (string) $this->amount ); } В функции - public static function numberOfDecimalsForCurrency( $currency ) Перед return 0; добавляем case 'RUB': Затем в той же функции перед return 1; добавляем case 'USD': Работать - работает, но как себя может повести с платежными системами, не знаю. Вроде должно работать Link to comment https://ipbmafia.ru/topic/18545-otobrazhenie-ceny-v-nexus/?&do=findComment&comment=138331 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.