Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

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

  • 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>';

Новости

  • 16 декабря 2020 г.
  • Выпущена сборка 6.0.13.3, в которой помимо множества изменений, мы интегрировали модуль доставок и бэкэнд к нему SafeRoute. С ним можно отправить заказ куда угодно. Удобно, быстро и без лишней бюрократии.  Подробнее

Блоги

  • 16.11.2019
  • Достаточно широкой проблемой, которая вызывает множество вопросов, обращений в тех.поддержку и тем на форуме, является обновление, а именно ошибки, с ним связанные. Корни проблем, возникающих при этом, совершенно различны, но наиболее часто причина в кастомизации. И хоть определение это слишком широкое, всё же процедура выявления проблемы вполне стандартизована и проста. Об этом и пойдёт речь в статье.