Блог пользователя Ромка
Модуль "Курсы валют" для Drupal 6
Ромка — Ср, 12/24/2008 - 17:31
В одном из последних проектов необходимо было вывести в блоке курсы валют. Кроме страшных информеров от РБК никакого полезного контента на эту тему я найти не сумел, по этому разработал модуль для шестого Друпала, который тянет курсы рубля по отношению к другим валютам из xml-файла с сайта ЦБРФ и выводит их в виде блока.
Полученные данные кешируются, настройки кеша, а также частота обновлений и список валют, которые необходимо выводить в блоке задаются через специальный интерфейс в админке. Внешний вид блока может быть переопределен через функцию темизации. Выводиться могут курсы следующих валют: Австралийский доллар, Фунт стерлингов Соединенного королевства, Белорусский рубль, Датская крона, Доллар США, Евро, Исландская крона, Казахское тенге, Канадский доллар, Китайский юань Жэньминьби, Норвежская крона, СДР (специальные права заимствования), Сингапурский доллар, Новая турецкая лира, Украинская гривна, Шведская крона, Швейцарский франк, Японская иена.
Демонстрацию работы модуля можно увидеть на этой странице в правом нижнем углу.
Внимание. С 11.01.2009 доступна новая версия модуля.
Статья в журнале PC Magazine
Ромка — Чт, 12/11/2008 - 21:43
Кроме бумажной версии статью можно прочитать на сайте PC Magazine/RE.
Несколько смешных картинок
Ромка — Чт, 10/16/2008 - 21:50
Нашел несколько интересных блогов, авторы которых рисуют и выкладывают смешные карикатуры.
А вот несколько их работ:
Backbird — скажи "прощай" алертам или удобная отладка java-script.
Ромка — Чт, 10/16/2008 - 12:23
Нашел очень удобный инструмент для отладки ява-скриптов — библиотеку Blackbird. Её необходимо скачать и подключить к необходимой странице, после чего на странице появится удобная консоль, в которую можно будет выводить отладочные сообщения. Сообщения делятся на типы — debug, info, warning, error, а в консоли предусмотрены фильтры по типам.
Любимый многими разработчиками, в том числе и мной, Firebug обладает значительно более широким функционалом, но у Blackbird есть одно преимущество — он совместим с браузерами Firefox 2+, Inernet Explorer 6+, Opera 9+, Safari 2+ и Google Chrome. Firebug Lite, который также как и Blackbird работает со всеми перечисленными бразуерами, уступает ему по возможностям.
Баг jQuery в Firefox 3 и WebKit
Ромка — Вс, 10/12/2008 - 13:19
Работая над очередной задачей, столкнулся с проблемой, решить которую помог Гугл. Суть проблемы заключается в том, что в библиотеке jQuery 1.2.6 некорректно работают функции width() и height() в третьем Firefox'е, а также браузерах, работающих на движке WebKit — Safari и Google Chrome. Удивительно, но даже в шестом IE, с которым обычно больше всего проблем, этого глюка нет. Природа проблемы осталась мне неясной, но известно, что она проявляется только тогда, когда в html-коде подключены сначала JS-файлы, а затем CSS-файлы и пропадает если сделать наоборот — сначала подключить все CSS-файлы, а затем все JS-файлы. В новом релизе jQuery этот баг обещают исправить.
Tagnetic — холодильник тэгов
Ромка — Ср, 10/08/2008 - 00:17
В ответ на флэш-скрипт от Ray Tanck, реализующий облако тэгов, стилизованное под доску с магнитами, я написал плагин для jQuery, который создает облако тэгов, стилизованное под холодильник с налепленными на него магнитами :) За графику спасибо моему другу Юре fancy13.
Плагин автоматически заменяет стандартное облако тэгов на холодильник, по этому для его работы, например, в Друпале достаточно просто подключить плагин в теле страницы и указать контейнер, в котором хранится облако. Если у пользователя выключен ява-скрипт, то ему будет показано стандартное облако тэгов.
Пока реализовал еще не все задумки, но уже есть что показать. При желании с той же страницы можно скачать тестовую версию плагина (магнит "Скачать" на холодильнике) — архив весит 1,2 мегабайта, но в нем находится PSD-исходник холодильника, два "скина" и не запакованный плагин. Конечному пользователю, чтобы увидеть холодильник, придется загрузить примерно 200 килобайт графики и плагин, размером в пару килобайт .
К сожалению, из-за использования IE PNG Fix в шестом IE скрипт заметно тормозит, возможно придется заменить пнг на гифы, для устранения этих тормозов.
В планах создание скина, в виде стены/доски с налепленными на нее бумажками-объявлениями, а также холодильника шириной в 300-400 пикселей.
Upd. Добавил прелоадер, скин шириной 400 пикселов и еще пару мелочей.
Еще обн. Выложил небольшую документацию, уже скоро работа над плагином будет завершена.
Третий упд. Запостил информацию о плагине на Хабре. Теперь придется реализовывать все предложенные там мысли :) Уже сделал пример с перетаскиваемыми магнитами.
Новый дизайн для Швабрашвабр
Ромка — Пт, 09/19/2008 - 02:42
Вместе с Юрой fancy13 Ободниковым сделали новый вариант дизайна для Швабрашвабр — проекта демонстрирующего работу CMS Drupal в качестве коллективного блога с элементами социальной сети.
Под катом большой скриншот.
Динамическое добавление элементов к форме
Ромка — Ср, 09/17/2008 - 17:02
При разработке модуля Inner poll возникла задача динамического добавления элементов к форме. С помощью библиотеки jQuery эта задача решается в два счета.
Для начала пишем функцию:
<?php
function addInput() {
/* default-id — скрытый элемент формы, из которого берется id для первого создаваемого элемента */
var id = document.getElementById("default-id").value;
id++;
/* в форму с именем testform добавляем новый элемент */
$("form[name=testform]").append('<div id="div-' + id + '"><input name="input-' + id + '" id="input-' + id + '" value="' + id + '"><a href="javascript:{}" onclick="removeInput(\'' + id + '\')">Удалить</a></div>');
/* увеличиваем счетчик элементов */
document.getElementById("default-id").value = id;
}
?>
Затем создаем форму:
<?php
<form name="testform" action="test.php" method="POST">
<input type="hidden" id="default-id" value="0">
<input type="submit" value="Отправить!">
</form>
<a href="javascript:{}" onclick="addInput()">Добавить текстовое поле</a><br>
?>
Вот и всё. Здесь размещен работающий пример. Кроме добавления элементов, также приведен пример их удаления.
Тестирование модуля "Inner poll"
Ромка — Втр, 09/16/2008 - 21:05
Разработал очередной модуль для шестого Друпала. Inner poll — модуль позволяющий прикреплять опросы к любому документу (в стандартной поставке Друпала опрос является отдельным типом документа).
Особенности модуля
- Все действия пользователей сохраняются без перезагрузки страницы (хмм, возможно, пора уже перестать считать AJAX фишкой);
- автор опроса может разрешить (или не разрешить) пользователям отменять свои голоса голоса;
- автор опроса может открывать/закрывать опрос, а так же устанавливать дату автоматического закрытия опроса;
Register or login to poll
Results:
Ква!: 0 голосов
Ква-ква!: 4 голоса
Не ква!: 0 голосов
Последние комментарии