[Помогите] Вывести курсы валют в шапке

Тема в разделе "OpenCart", создана пользователем zek24, 30 ноя 2016.

  1. zek24

    zek24

    Регистрация:
    10 ноя 2012
    Сообщения:
    162
    Симпатии:
    23
    Привет,
    есть задача вывести для ОК 23+ в шапке курсы валют.
    Их три. Основная = Z. И еще две X Y
    Нужно следующее Z = XX Z = YY
    Кто подскажет как?
     
  2. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
  3. zek24

    zek24

    Регистрация:
    10 ноя 2012
    Сообщения:
    162
    Симпатии:
    23
  4. parampoparam

    parampoparam

    Регистрация:
    9 янв 2016
    Сообщения:
    29
    Симпатии:
    6
    какую ошибку дает?
     
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Гавнокодистое решение. Все валюты и их курсы можно получить через класс Currency, который и так всё сам вытягивает из базы. И работало б во всех версиях.

    Есть два варианта: либо вытягивать курс для конкретной валюты через
    PHP:
    $this->currency->getValue('USD');
    Вместо USD - код нужной валюты.

    Либо в файле (путь для 2.3) /system/library/cart/currency.php заменить у поля $currencies видимость с private на public и затем просто обойти его циклом в контроллере шапки:
    PHP:
    foreach($this->currency->currencies as $code => $currency){
    $data['currencies'][$code] = $currency;
    }
    А затем в шаблоне обойти циклом массив $currencies, который создан циклом выше. Какие поля будут у каждого элемента в этом массиве можно глянуть в том же /system/library/cart/currency.php в конструкторе.
     
    Baco, zek24 и buldozer нравится это.
  6. zek24

    zek24

    Регистрация:
    10 ноя 2012
    Сообщения:
    162
    Симпатии:
    23
    1$ = Notice: Undefined variable: crc in /home/site.com/test/catalog/view/theme/themename/template/common/header/header_01.tpl on line 9 грн
     
    Последнее редактирование: 5 дек 2016
  7. lisa15

    lisa15

    Регистрация:
    5 окт 2019
    Сообщения:
    2
    Симпатии:
    0
    Привет,
    есть задача вывести для ОК 23+ в шапке курсы валют. в хедер.тпл вставляю <p align="left"><span class="hidden-md hidden-sm hidden-xs">Курс: </span>1$ = <?php echo (round($usd_uan, 2));?> грн.</p> в контроллер хедера пишу $data['usd_uan'] = $this->currency->convert( '1' ,'USD', 'UAN'); пока валюта по умолчанию гривна все работает, меняю доллар перестает. пс поставила модуль обновление валют нацбанк украины может он как то влияет?
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Если валюта с кодом UAN и существует, это точно не гривна!
    Код гривны - UAH.

    Когда код валюты указан неправильно, её курс приравнивается к 1 при конвертации. Если гривна стоит по умолчанию, то у неё он и так 1, потому всё и работает.

    Кстати, вы читали, что я выше писал про
    PHP:
     $this->currency->getValue('USD'); 
    ?

    Выводить курс через convert - это малость костыль.
     
  9. lisa15

    lisa15

    Регистрация:
    5 окт 2019
    Сообщения:
    2
    Симпатии:
    0
    спс , в коде валюты была не та буква(