Конвертер валют для InstantCMS 2

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 17 декабря 2015 в 03:22
Не нашел для 2-ки готового компонента, а ведь вещь очень полезная, сам по несколько раз на дню захочу переконвертить по валютам. В дополнениях продается поле для InstantCMS 2.x (http://instantcms.ru/addons/goodmade-price.html), но демо не работает и х/з удастся ли это переделать в простой виджет. Хотелось бы что-нибудь простое и удобное на аяксе, как здесь: finance.tut.by/kurs/. Можно конечно заказать за $15-20 на Серче, но ведь компонент был бы интересен не только мне, да и разработчикам лишняя копейка не помешает.

Под первую ветку что-то подобное было: instantcms.ru/blogs/udobnosti-i-poleznosti/obnovlenie-modul-kursy-i-konverter-valyut-2-0.html
Есть под битрикс с флажками, можно приспособить под инстант: yadi.sk/d/aR6-_86ZmHKKQ

Для хорошего прогера пара часов работы, может реализует кто. Буду первым покупателем. smile

Пример рабочего кода простого конвертера:

  1. <?php
  2.  
  3. // Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru
  4.  
  5. $content = get_content();
  6.  
  7. // Разбираем содержимое, при помощи регулярных выражений
  8.  
  9. $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  10.  
  11. preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
  12.  
  13. $dollar = "";
  14.  
  15. $euro = "";
  16. $yua = "";
  17. $en = "";
  18. foreach($out as $cur)
  19.  
  20. {
  21.  
  22. if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);
  23.  
  24. if($cur[2] == 978) $euro = str_replace(",",".",$cur[4]);
  25. if($cur[2] == 156) $yua = str_replace(",",".",$cur[4]);
  26. if($cur[2] == 392) $en = str_replace(",",".",$cur[4]);
  27.  
  28. }
  29.  
  30. echo "<table style=\"width: 100%;\"><tr><td><b>USD</b> ".$dollar."</td><td><b>CNY</b> ".$yua."</td></tr><tr><td><b>EUR</b> ".$euro."</td><td><b>JPY</b> ".$en."</td></tr></table>";
  31.  
  32. function get_content()
  33.  
  34. {
  35.  
  36. // Формируем сегодняшнюю дату
  37.  
  38. $date = date("d/m/Y");
  39.  
  40. // Формируем ссылку
  41.  
  42. $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
  43.  
  44. // Загружаем HTML-страницу
  45.  
  46. $fd = fopen($link, "r");
  47.  
  48. $text="";
  49.  
  50. echo "<h4 class=\"btl\"><span>Курс ЦБР</span><span style=\"color: #333333;\"> на ".$date."</span></h4><br>";
  51. if (!$fd) echo "Запрашиваемая страница не найдена";
  52.  
  53. else
  54.  
  55. {
  56.  
  57. // Чтение содержимого файла в переменную $text
  58.  
  59. while (!feof ($fd)) $text .= fgets($fd, 4096);
  60.  
  61. }
  62.  
  63. // Закрыть открытый файловый дескриптор
  64.  
  65. fclose ($fd);
  66.  
  67. return $text;
  68.  
  69. }
  70.  
  71. ?>
  72. <br><h4 class="btl"><span>Калькулятор</span><span style="color: #333333;"> валют</span></h4><br>
  73. <script>
  74. var val=<?php echo $dollar; ?>;
  75. function calculate() {
  76. window.document.getElementById("result").value = window.document.getElementById("convert").value * val;
  77. }
  78. </script>
  79. Выбрать:
  80. <select onchange="val=this.options[this.selectedIndex].value;calculate()">
  81. <option value="<?php echo $dollar; ?>" selected>USD</option>
  82. <option value="<?php echo $euro; ?>">EUR</option>
  83. <option value="<?php echo $en; ?>">JPY</option>
  84. <option value="<?php echo $yua; ?>">CNY</option>
  85.  
  86. </select>
  87. <input style="width: 75px;" type="text" id="convert" onkeyup="calculate()" value="Сумма" onblur="if(this.value=='') this.value='Сумма';" onfocus="if(this.value=='Сумма') this.value='';" />
  88. <input style="width: 75px;" type="text" id="result" value="Результат" onblur="if(this.value=='') this.value='Результат';" onfocus="if(this.value=='Результат') this.value='';" />
#3 17 декабря 2015 в 11:25

допилить/переделать

Jestik
maxisoft если только займется, в текущем виде виджет малоинтересен, здесь и за 100р подобный продается. Просто курсы — это небольшая фича для сайта, малоинтересная для пользователя. Конвертер — уже маленький сервис, удобный конвертер попадет в кому-то из пользователей в закладочки и принесет дополнительный траф и улучшение поведенческих.
#4 17 декабря 2015 в 11:36

В дополнениях продается поле для InstantCMS 2.x (http://instantcms.ru/addons/goodmade-price.html, но демо не работает

допилить/переделать

Вы меня извините, но так то автор в упор даже демо не видет(мой сайт и есть демо), а вы говорите о переделке…

instantcms.ru/blogs/blog-razrabotchika/vidzhet-kursy-valyut.html


Вот и спрашивается зачем в общем нужно эти мелкие дополнение, процентов 80 в упор не понимает зачем оно и с чем его… а вот когда что-то подобное увидите на каком-то из рабочих тематических сайтов, так создаёте темы… Мол, хочу!!! Хотя, это хочу… давно уже есть — уразумей чуточку и используй. Всё, пора завязывать с этой "ерундой"… Будем работать на зрелищность и украшения…
#5 17 декабря 2015 в 11:40

может реализует кто. Буду первым покупателем.


в текущем виде виджет малоинтересен, здесь и за 100р подобный продается.

Pasechnik

scratch
#6 17 декабря 2015 в 13:47

Вы меня извините, но так то автор в упор даже демо не видет(мой сайт и есть демо), а вы говорите о переделке..

Денис Васильевич
К чему столько сарказма) автор привык видеть то что ему нужно, платить и не задавать лишних вопросов. Я покупал здесь множество компонентов, модулей и шаблонов, и ни разу! никого попусту не доставал. Я ничуть не прогер, но и не дурак, уважаемый.
#8 17 декабря 2015 в 18:16
Денис Васильевич, я уже приводил пример (http://finance.tut.by/kurs/). Мне бы подобную реализацию в виде виджета, да и не один же я, видимо, в подобном заинтересован. Будет ли это в виде дополнительного функционала к полю "Цена" или реализовано самостоятельно — не имеет особого значения. Для информационного сайта конвертация цен без надобности, а удобная конвертация валют — приятное дополнение.

Для 2-ой ветки пока видел два решения:
instantcms.ru/addons/rate-currency.html
instantcms.ru/addons/valuta.html

Но это принцип информеров, полноценного конвертера нет.

На примере имеющихся у меня скриптов, я бы мог реализовать нечто подобное простой вставкой в код шаблона и прицепив стили, но не уверен насчет фильтрации вводимых данных (безопасность) и лишней нагрузки на сайт. Не программист, а вникать особо некогда.

Если сделаете, публикуйте в "дополнения" с демо виджета или поле "Цена" с этим виджетом. Время терпит. Покупателем буду — не вопрос.
#9 18 декабря 2015 в 15:15
Оплатил. Денис Васильевич очень оперативно справился с задачей, все бы так. За что ему моя искренняя благодарность.
Вопрос решен. Рекомендую!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.