Октябрь 25, 2019
Теги: Магазин
Работа с валютам - получение списка, валюты заказа, корзины, конвертация и пр.
Получение массива валют, включая языковые параметры для текущего языка:
Также можно получить список валют и их курсов простыми методами ORM (а языковые параметры получаются при помощи CurrencyLangTable):
$rsCurrency = \Bitrix\Currency\CurrencyTable::getList();
while($currency=$rsCurrency->fetch())
{
print_r($currency);
}
/*
Array
(
[CURRENCY] => EUR
[AMOUNT_CNT] => 1
[AMOUNT] => 38.9800
[SORT] => 300
[DATE_UPDATE] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2013-07-02 23:39:30.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[NUMCODE] =>
[BASE] => N
[CREATED_BY] =>
[DATE_CREATE] =>
[MODIFIED_BY] =>
[CURRENT_BASE_RATE] => 38.980000000000
)
Array
(
[CURRENCY] => RUB
[AMOUNT_CNT] => 1
[AMOUNT] => 1.0000
[SORT] => 100
[DATE_UPDATE] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2013-07-02 23:39:30.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[NUMCODE] =>
[BASE] => Y
[CREATED_BY] =>
[DATE_CREATE] =>
[MODIFIED_BY] =>
[CURRENT_BASE_RATE] => 1.000000000000
)
Array
(
[CURRENCY] => USD
[AMOUNT_CNT] => 1
[AMOUNT] => 30.3300
[SORT] => 200
[DATE_UPDATE] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2013-07-02 23:39:30.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[NUMCODE] =>
[BASE] => N
[CREATED_BY] =>
[DATE_CREATE] =>
[MODIFIED_BY] =>
[CURRENT_BASE_RATE] => 30.330000000000
)
*/
Метод ORM для получения таблицы курсов валют:
Получение идентификатора базовой валюты:
Получение валюты позиции корзины из объекта позиции корзины: