Валюты
Список доступных валют этого магазина, а также их курс обмена, настраивается на вкладке Настройки.
Доступные валюты
Список доступных валют представлен согласно стандарту ISO 4217.
Для просмотра всего списк а доступных валют в вашем контроллере просто вызовите
метод sCommerce::getCurrencies(). Это вернет весь список, доступный для ISO 4217.
use Seiger\sCommerce\Facades\sCommerce;
...
$currencies = sCommerce::getCurrencies();
dd($currencies);
...
Illuminate\Support\Collection {#1351 ▼
#items: array:158 [▼
0 => array:6 [▼
"name" => "UAE Dirham"
"alpha" => "AED"
"numeric" => "784"
"symbol" => "د.إ"
"exp" => 2
"country" => "AE"
]
1 => array:6 [▶]
...
157 => array:6 [▶]
]
#escapeWhenCastingToString: false
}
Данные валюты включают:
- название валюты
- буквенно-цифровой код валюты
- цифровой код валюты
- международный символ
- количество знаков после запятой
- страны распространения
Цена товара и валюта
У вас есть возможность установить цену товара в зависимости от выбранной валюты. Валюта для всех цен товаров выбирается для поля Цена. Если вы используете больше одной валюты в вашем магазине, вы должны убедиться, что одна из доступных для сайта валют добавлена в сессию пользователя, список которых настраивается на вкладке Панель администратора -> Модули -> Commerce -> Настройки.
Вы можете использовать базовый контроллер вашего сайта для установки валюты для пользователя по умолчанию.
if (!isset($_SESSION['currency'])) {
$_SESSION['currency'] = 'USD';
}
Если это не сделано, то валютой по умолчанию для пользователя будет валюта, выбранная как Основная валюта в конфигурации магазина.
Если есть необходимость показать цену товар а независимо от выбора валюты пользователем, то используйте следующую функцию:
echo $product->priceTo('EUR');
Метод priceTo('XXX') будет отображать цену товара, конвертированную в выбранную валюту
в виде строки, отформатированной согласно конфигурации sCommerce.
Если вы хотите получить только неотформатированное число с ценой в выбранной валюте,
то используйте метод priceToNumber('XXX').
Курс обмена
Список для курса обмена генерируется автоматически, если выбрано больше одной доступной валюты. Список курсов формируется как данная валюта (XXX) --> её эквивалент в другой валюте (XXX).
Если по каким-либо обстоятельствам курс обмена равен 0, или не найден, курс обмена будет отображаться как 1:1.