Донецкий техникум промышленной автоматики

Оновлення курсів валют в Virtuemart

  1. Навіщо це потрібно Розглянемо приклад: рубль як валюта сайту, "плаваюча", і долар як "тверда валюта"....
  2. установка плагіна
  3. Особливості поновлення курсів валют в Virtuemart
  4. Як це працює

Навіщо це потрібно

Розглянемо приклад: рубль як валюта сайту, "плаваюча", і долар як "тверда валюта".

Все просто: якщо ціни товарів встановити в "твердій валюті", при зміні курсу цієї валюти ціни товарів на сайті в національній валюті будуть автоматично перераховані і ви будете застраховані від втрати доходу.
Тобто, ціни в адмінці потрібно прописати в доларах, на сайті вона буде показана в рублях. Долар підскочив - ціни в рублях відкоригувати.

Що робити

  1. Проставити в адмінці ціни товарів в "твердій валюті" - United States dollar або Euro.
  2. Налаштувати в Virtuemart валюту сайту => Рубль і переконатися, що на сайті всі ціни в рублях.
  3. Встановити і включити плагін автоматичного оновлення курсів валют. Усе.

Налаштування валюти Virtuemart

Меню - Virtuemart - Магазин - Магазин

Закладка "Продавець"

Обидві валюти повинні бути "Рубль"! Долар або євро вибираються тільки в картці товару!

Долар або євро вибираються тільки в картці товару

установка плагіна

У нас є два варіанти плагіна - для ЦБ Росії і НБУ .

Щоб встановити плагін, потрібно завантажити пакет "як є" в кореневу папку сайту (туди ж, де файл .htaccess і robots.txt) і розпакувати його з панелі файлового менеджера на хостингу.
Або витягти файли з пакету і завантажити їх по FTP в ту ж папку, як вони упаковані в пакеті:
/ Administrator / components / com_virtuemart / plugins / currency_converter /

Далі зайти в Virtuemart - Налаштування - Налаштування і перемкнути "Модуль валюти" на новий convertCBR.php (або convertNBU.php). Зберегти!

Зберегти

У "модуля валюти" налаштувань в адмінці немає, він недоступний з адмінки. Кілька параметрів є в самому скрипті convertCBR.php, щоб мати можливість підлаштувати під свої вимоги.

Один з часто затребуваних - комерційна маржа. Це число у відсотках (без символу%) вказує на скільки потрібно змінити курс валюти для вашого магазину.

Файл convertCBR.php, рядок 23:

var $ commercial_margin = 5; // комерційний курс на 5% вище банківського var $ commercial_margin = -5; // комерційний курс на 5% нижче банківського.

За замовчуванням маржа = 0, тобто курс валюти в магазині буде збігатися з банківським.

Особливості поновлення курсів валют в Virtuemart

Перш за все, курси валют кешуються Virtuemart. Це означає, що вони завантажуються з сайту Банку тільки в певний час.
Кеш таблиця від Банку знаходиться в файлі /cache/daily.xml
За атрибутами дата / час файлу ви можете бачити коли він бул завантажений, а відкривши файл побачите якому банку він належить.

Час життя кеша - 6 годин. Virtuemart може зайти на сайт банку через кожні 6 годин, щоб перевірити наявність нових даних. Не варто примушувати його робити це частіше, щоб не потрапити під заборону з боку Банку за підозрілу активність.

Центробанк РФ публікує курси валют зазвичай раз на день, по робочих днях, після 11:30 мск.
НБУ публікує нові курси валют ввечері, після 18:00 за Києвом.

Як це працює

Коли на сайт заходить відвідувач (навіть якщо це робот), Joomla "пробуджується". Якщо відкрита сторінка пов'язана з Virtuemart - спрацьовує модуль валюти. Перевіряється дата / час останньої завантаженої таблиці курсів валют: якщо пройшло 6 годин і прийшов час, коли Банк оновлює курси, модуль "заглядає" на спеціальну сторінку Банку. Отримавши свіжі дані, зберігає таблицю в файл в кеш нашого сайту. Далі ця таблиця буде надавати дані для обчислення всіх цін на сайті в заданій валюті без зайвих звернень до Банку.

Модуль валюти для ЦБ РФ

Модуль валюти для НБУ