
Модх парсер валют и конвертация прайса.
И так сегодня у нас пришел довольно интересный заказ на МОДХ.
У заказчика есть несколько таблиц в виде прайса, необходимо спарсить курс валют центробанка Белоруссии, а также сделать автоматическую конвертацию валют в прайсе.
По умолчанию все цены в прайсах загружены в Евро.
И так сам код:
<?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>
И так коротко по коду.
Таблицы сделаны настолько гавнисто, что получилось только прописать атрибуты для тегов
Загвоздка в том, что атрибуты в перемешку и текстовые и цыфровые.
В итоге получилось обновлять только цыфровые поля таблицы , хотя код написан топорно, но работает.
Может кому пригодиться.
