Сделан небольшой скрипт для пересчета, пока не поставлен на битрикс. Скрипт осуществляет пересчет всех цен на сайте которые помещены в блок с классом toogle_price (так что для его работы придется пройтись по шаблонам и заключить цену в блок) у которого в id должна так же хранится цена по умолчанию. В моем случае это рубли. Пересчет осуществляется в зависисмости от курса валют ЦБРФ (к части получения курса нужно будет доделать кеш). Для того чтоб выбранная валюта запоминалась испотльзуются куки. Скрипт на скорую руку. Нужно будет доработать его, и думаю корзину тоже придется чуток подправить.
Код |
---|
<?
function valuta(){
$valute = array();
$eur = 'R01239';
$usd = 'R01235';
$date = date("d/m/Y");
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
$str = file_get_contents ($link);
preg_match('#<Valute ID="'.$eur.'">.*?.<Value>(.*?)</Value>.*?</Valute>#is', $str, $e_value);
preg_match('#<Valute ID="'.$usd.'">.*?.<Value>(.*?)</Value>.*?</Valute>#is', $str, $u_value);
$valute[] = str_replace(",", ".", $e_value[1]);
$valute[] = str_replace(",", ".", $u_value[1]);
return $valute;
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/jquery.cookie.js"></script>
<script>
$(document).ready(function(){
if($.cookie('valute')==2){
change('<?=valuta()[1]?>', ' $');
$("#valute [value='2']").attr("selected", "selected");
}
else if($.cookie('valute')==3){
change('<?=valuta()[0]?>', ' €');
$("#valute [value='3']").attr("selected", "selected");
}
});
function change(valute, chr){
$('.toogle_price').each(function(index, element){
r = $(this).attr("id");
actual = r/valute;
if(valute!='1'){
actual =actual.toFixed(2);
}
$(this).html(actual+chr)
});
}
$('#valute').live('change', function () {
if($(this).val() == '2'){
change('<?=valuta()[1]?>', ' $');
$.cookie('valute', '2');
}
else if($(this).val() == '3'){
change('<?=valuta()[0]?>', ' €');
$.cookie('valute', '3');
}
else if($(this).val() == '1'){
change('1', ' Р');
$.cookie('valute', '1');
}
});
</script>
<select id="valute">
<option value="1">Р</option>
<option value="2">$</option>
<option value="3">€</option>
</select>
<br /><br />
<span class="toogle_price" id="100">100 Р</span><span></span><br />
<span class="toogle_price" id="300">300 Р</span><span></span><br />
<span class="toogle_price" id="500">500 Р</span><span></span><br />
|