Вход • Регистрация

Автоматический конвертор валют

  • 17 июля 2016 г.
  • Всем привет. Существует ли у диафан конвертер валют? Мне нужно забивать в каталог цену в йенах и чтобы автоматически выводилось на сайте в рублях по курсу ЦБ. Не нашел подобного.
    • 17 июля 2016 г.
      • 11 октября 2018 г.
      • Указанная ссылка -
        http://addons.diafan.ru/modules/modules-and-services/obnovlenie-kursov-valyut-po-tsb/
        не работает.
        Скажите есть ли решение (модуль) для автоматического ввода курса валют, чтобы вручную не вбивать каждый день?
        • 11 октября 2018 г.
        • На cron повесьте

          Код

          <?php


          define('DIAFAN', 1);
          define('ABSOLUTE_PATH', $_SERVER['DOCUMENT_ROOT'].'/');
          include ABSOLUTE_PATH.'config.php';
          include_once ABSOLUTE_PATH.'includes/custom.php';
          Custom::init();
          Custom::inc('includes/developer.php');
          Dev::init();
          Custom::inc('includes/core.php');
          define('IS_ADMIN', 0);
          Custom::inc('includes/init.php');
          Custom::inc('includes/database.php');
          $diafan = new Init();


          class CBRAgent
          {
          protected $list = array();

          public function load()
          {
          $xml = new DOMDocument();
          $url = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=' . date('d.m.Y');

          if (@$xml->load($url))
          {
          $this->list = array();

          $root = $xml->documentElement;
          $items = $root->getElementsByTagName('Valute');

          foreach ($items as $item)
          {
          $code = $item->getElementsByTagName('CharCode')->item(0)->nodeValue;
          $curs = $item->getElementsByTagName('Value')->item(0)->nodeValue;
          $this->list[$code] = floatval(str_replace(',', '.', $curs));
          }

          return true;
          }
          else
          return false;
          }

          public function get($cur)
          {
          return isset($this->list[$cur]) ? $this->list[$cur] : 0;
          }
          }

          $conver = 3;

          $cbr = new CBRAgent();
          if($cbr->load()){
          $usd_curs = $cbr->get('USD') / 100 * $conver + $cbr->get('USD');
          $eur_curs = $cbr->get('EUR') / 100 * $conver + $cbr->get('EUR');
          DB::query("UPDATE {shop_currency} SET exchange_rate=%f WHERE name='USD'", $usd_curs);
          DB::query("UPDATE {shop_currency} SET exchange_rate=%f WHERE name='Euro'", $eur_curs);
          }

          $diafan->_shop->price_calc(0, 0, 1);
          $diafan->_shop->price_calc(0, 0, 2);
          $diafan->_cache->delete("", array());

          echo '<div style="background: silver; font-weight:bold; text-align:center; height: 100px; line-height: 100px; font-size: 20px;">Валюта обновлена</div>';

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум