
Модх парсер валют и конвертация прайса.
И так сегодня у нас пришел довольно интересный заказ на МОДХ.
У заказчика есть несколько таблиц в виде прайса, необходимо спарсить курс валют центробанка Белоруссии, а также сделать автоматическую конвертацию валют в прайсе.
По умолчанию все цены в прайсах загружены в Евро.
И так сам код:
<?php error_reporting(0); $kursi = @simplexml_load_file('http://www.nbrb.by/Services/XmlExRates.aspx'); if ($kursi != FALSE) { foreach ($kursi->Currency as $Currency) { if ($Currency->NumCode == '978') {$eur = $Currency->Rate;} } } else {} ?><div id="zz"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> var eur = '<?php echo $eur;?>'; $( document ).ready(function() { function convertTable(){ var currency = $('select[name=currency]').val(); $('table.tpl-table tbody tr td').each(function(){ var price = parseInt($(this).data('price')); switch (currency) { case '0': if (isNaN(price)) { } else { let roundTo10 = Math.ceil((price * eur)/10)*10; $(this).html((roundTo10).toFixed(0) + ' BYN'); } break; case '2': if (isNaN(price)) {} else { $(this).html((price).toFixed(0) + ' €'); } break; } }); } convertTable(); $('select[name=currency]').change(function(){ convertTable(); }); }); console.log; </script> <select style="height:40px;width:200px" name="currency"> <option value="0" selected>BYN</option> <option value="2">EUR</option> </select></div>
И так коротко по коду.
Таблицы сделаны настолько гавнисто, что получилось только прописать атрибуты для тегов
Загвоздка в том, что атрибуты в перемешку и текстовые и цыфровые.
В итоге получилось обновлять только цыфровые поля таблицы , хотя код написан топорно, но работает.
Может кому пригодиться.