В 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 надо обверстать как вам нужно.
Добавить комментарий