Курс валют - как передать значение из модуля в сущность
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Курс валют - как передать значение из модуля в сущность
Добрый день!
Есть такая структура
Валюты
- Курсы валют
Нужно связать встроенный модуль курса валют и эту "конструкцию" по автоматической фиксации нового курса по каждой валюте с определенной периодичностью (например, 1 раз в день). Ну само обновление курса в принципе настраивается по Крону у хостера на сервере. Может как-то на это событие поставить автоматическое создание записи с курсом в сущности Курсы валют под каждой соответствующей родительской записью Валюты ?
А еще бы лучше было бы забирать "обратные" курсы - т.е. не курс доллара к рублю, а курс рубля к доллару
Может кто-то уже внедрял такое/подобное решение?
Есть такая структура
Валюты
- Курсы валют
Нужно связать встроенный модуль курса валют и эту "конструкцию" по автоматической фиксации нового курса по каждой валюте с определенной периодичностью (например, 1 раз в день). Ну само обновление курса в принципе настраивается по Крону у хостера на сервере. Может как-то на это событие поставить автоматическое создание записи с курсом в сущности Курсы валют под каждой соответствующей родительской записью Валюты ?
А еще бы лучше было бы забирать "обратные" курсы - т.е. не курс доллара к рублю, а курс рубля к доллару
Может кто-то уже внедрял такое/подобное решение?
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Курс валют - как передать значение из модуля в сущность
Спасибо, интересная статейка, попробую этот способ.
Но вот хотелось бы использовать имеющийся модуль... он же есть в системе, но как-то не особо функционален... Хотелось бы его использовать в более "расширенном" виде).
Re: Курс валют - как передать значение из модуля в сущность
ну если немного поизвращаться можно поидеи решить проблему.
не уверен тока в моменте работы крона!!
не уверен тока в моменте работы крона!!
-
believe
- Инвестор

- Сообщения: 449
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Курс валют - как передать значение из модуля в сущность
Код: Выделить всё
$url = 'https://www.cbr.ru/scripts/XML_daily.asp';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$content = curl_exec($ch);
curl_close($ch);
$xml = @simplexml_load_string($content);
foreach ($xml->Valute as $item) {
// R01235 - Доллар США
if ($item['ID'] == 'R01235') {
$usd = $item->Value;
}
}
if (!empty($usd)) {
$usd = str_replace(',', '.', $usd);
}
echo $usd;
$form_field_value=$usd;
Пример отсюда - https://seolik.ru/blog/php-poluchenie-k ... obanka-111
- Develop-Soft
- Сообщения: 599
- Зарегистрирован: 27 мар 2019, 01:22
- Имя: Владимир
- Откуда: Россия, Белгород
- Контактная информация:
Re: Курс валют - как передать значение из модуля в сущность
Ну или так:
JS:

PHP:

JS:
Код: Выделить всё
$f_kurs = '579'; // id поля "курс"
$val = 'USD'; // требуемая валюта
echo '<script>'.
'$.getJSON("https://www.cbr-xml-daily.ru/daily_json.js", function(resp) { '.
' $("#fields_'.$f_kurs.'").val(resp.Valute["'.$val.'"].Value); '.
'});'.
'</script>';
PHP:
Код: Выделить всё
$val = 'USD'; // требуемая валюта
$resp = json_decode(file_get_contents('https://www.cbr-xml-daily.ru/daily_json.js'));
$form_field_value = $resp -> {"Valute"} -> {$val} -> {"Value"};
echo $form_field_value;
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Курс валют - как передать значение из модуля в сущность
О, спасибо за ответы, буду тестировать)
- Develop-Soft
- Сообщения: 599
- Зарегистрирован: 27 мар 2019, 01:22
- Имя: Владимир
- Откуда: Россия, Белгород
- Контактная информация:
Re: Курс валют - как передать значение из модуля в сущность
И кстати:
В этом не вижу смысла, т.к. обновление может инициировать любой пользователь открывший страницу...alcompstudio писал(а): 04 окт 2021, 16:39 Ну само обновление курса в принципе настраивается по Крону у хостера на сервере.
Арифметика же... 1/курсalcompstudio писал(а): 04 окт 2021, 16:39 А еще бы лучше было бы забирать "обратные" курсы - т.е. не курс доллара к рублю, а курс рубля к доллару
Re: Курс валют - как передать значение из модуля в сущность
А не проще было обратиться к существующей базе данной и забрать оттуда значения, которые были получены через модуль)
А вообще шикарные коды!!
А вопрос отображения - это чистая математика!! что верно подмечено.
А вообще шикарные коды!!
А вопрос отображения - это чистая математика!! что верно подмечено.
- Develop-Soft
- Сообщения: 599
- Зарегистрирован: 27 мар 2019, 01:22
- Имя: Владимир
- Откуда: Россия, Белгород
- Контактная информация:
Re: Курс валют - как передать значение из модуля в сущность
Я не в курсе. У меня этого нет (модуля, базы).nruslan2 писал(а): 05 окт 2021, 12:13 А не проще было обратиться к существующей базе данной и забрать оттуда значения, которые были получены через модуль)