Загрузка страницы..
1С-Битрикс. Знак рубля
Вариант кастомизации вывода рубля в 1С-Битрикс
2015-04-03T08:04 03 апр. 2015 08:04
Просмотров: 3365

1С-Битрикс. Знак рубля

В 1С-Битрикс есть модуль валют, в котором у каждой валюты можно задать свой формат. К примеру для рубля: # руб./ и решетка подменяться на стоимость. Когда на сайте нужно подключить знак рубля, то обычно этот формат меняют на такой:

# <span class="rub">p</span>

Но тогда в админке будут красоваться в списке заказов цены с html тегами пропущеными через функцию htmlspecialchars.

Решим проблему обработчиком:

// подписываемся на событие CurrencyFormat модуля валют.
// вызывается в функции \CAllCurrencyLang::CurrencyFormat
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandlerCompatible('currency', 'CurrencyFormat',
    array('CCurrencyLangHandler', 'CurrencyFormat'));
 
 
// код класса
class CCurrencyLangHandler
{
    public static function CurrencyFormat($price, $currency)
    {
        if (!(defined('ADMIN_SECTION') && true === ADMIN_SECTION)) {
            return sprintf('%s <span class="rub">p</span>', number_format($price, 0, ' ', ' '));
        }
    }
}

Тем самым в админке мы видим цены по формату заданному в настройках, а на сайте видим цены с красивым знаком рубля.

CSS класс rub надо обверстать как вам нужно.



Комментарии: 0

Коментарий пока нет, стань первым!

Добавить комментарий

Яндекс.Метрика Яндекс.Метрик