Написал простой модуль курсов валют для Drupal 7. Может кому-то окажется полезным.
Работает просто:
- по крону смотрим в xml файл на http://bank-ua.com
- парсим нужные нам курсы (в моем модуле это USD, EUR, RUB)
- полученные курсы заносим в БД
- выводим на сайте как блок
Приятные фишки:
- через .tpl доступна темизация.
- все курсы заносим 1-запросом к БД получаем так же.
Неприятные фишки:
- блок с курсами валют не кешируется
- в админке нельзя выбрать тип валюты для показа.
Пример работы модуля: http://www.bestnews.in.ua/ (данные берутся с другого источника палить не могу.)
- залили на сайт
- включили
- вывели в блоках в нужном регионе
- запустили крон.
Чуть не забыл: курсы валют по отношению к .грн Украина.
любые дельные советы по улучшению кода, приветствуются.
Вложение | Размер |
---|---|
ua_courses_7.x.3.0.zip | 23.88 КБ |
Комментарии
Друпал стандарты сосут
В папке мусорные файлы
выглядит странно:
<?php /**
* Вношу первичные данные в таблицу.
*/
function ua_courses_install() {
db_insert('ua_courses')->fields(array('usd' => 0,'eur' => 0,'rub' => 0, 'change_usd' => 0,'change_eur' => 0,'change_rub' => 0))->execute();
} ?>
Это убрать
<?php /**
* Удаляю таблицу при отключении модуля.
*/
function ua_courses_uninstall() {
db_drop_table('ua_courses');
} ?>
ua_courses_insert() - конфликт с hook_insert($node)
И да, неплохо бы добавить кое какое апи, например для интеграции с commerce, иначе модуль сам в себе.
Выложи в песочницу на орге. Удобней же
> ua_courses_insert() - конфликт с hook_insert($node)
Да и вообще эта функция не нужна. В общем-то и реализация хук_крон не нужна. И своя таблица в БД не нужна. И своя ф-я темизации тоже не нужна (есть же theme_item_list).
да, кстати, правильно, вместо таблички кэшировать либо сохранять в переменной.
Рома, выложи на http://drupal.ua
Ребята, модули нужно выкладывать на drupal.org, а не сюда.
Это - мертворожденный код.
Если "Украинские", то почему русским языком (даже камменты кода)?
))