Перейти к содержанию

Отображение цены в Nexus


Рекомендуемые сообщения

Кто-нибудь сталкивался с необходимостью изменения количества отображаемых знаков после запятой в ценах Nexus?

Куда копать?

Ссылка на комментарий
Поделиться на другие сайты

Если кому понадобится:

/applications/nexus/sources/Money/Money.php

Функция - public static function numberOfDecimalsForCurrency( $currency )

Добавляем строку -             case 'RUB':

Куда добавлять строку определяем исходя из требуемого количества отображаемых знаков цены после запятой.

Если вообще без знаков, то перед "return 0;", если 1, то перед "return 1;" и т.д.

Ссылка на комментарий
Поделиться на другие сайты

Хрену лысого... на локалке работает, а с локалями на сервере фигня какая-то... выше описанный способ может менять все остальные валюты, но не 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

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Cheshir сказал:

Должна быть добавлена валюта RUB и у товара указана цена в рублях.

Не работает, валюта RUB не появляется! Пробовал через плагин и в ручную.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Sipsb сказал:

Не работает, валюта RUB не появляется! Пробовал через плагин и в ручную.

Зараза... Думал в настройках сервак дело. Максимум до чего дошел, для всех валют убрать знаки после точки. Спасибо Sipsb.

Ссылка на комментарий
Поделиться на другие сайты

Работает, если дописать/изменить в том же /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':

 

Работать - работает, но как себя может повести с платежными системами, не знаю. Вроде должно работать :af:

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...