Статья в журнале PC Magazine

pcmag0109-250.jpg

В январском номере журнала PC Magazine/RE опубликована статья посвященная CMS Drupal, которую написал я при поддержке Акселя. В статье рассказано о возможностях, предоставляемых системой разработчикам и пользователям, а также приведены инструкции по настройке коллективного блога с элементами социальной сети (Швабрашвабр на шестом Друпале) и корпоративного интранет-портала. Готовые сборки этих примеров размещены на компакт-диске, прилагаемом к журналу, а также их можно скачать на Швабрешвабр.

Кроме бумажной версии статью можно прочитать на сайте PC Magazine/RE.

Backbird — скажи "прощай" алертам или удобная отладка java-script.

Нашел очень удобный инструмент для отладки ява-скриптов — библиотеку Blackbird. Её необходимо скачать и подключить к необходимой странице, после чего на странице появится удобная консоль, в которую можно будет выводить отладочные сообщения. Сообщения делятся на типы — debug, info, warning, error, а в консоли предусмотрены фильтры по типам.

Любимый многими разработчиками, в том числе и мной, Firebug обладает значительно более широким функционалом, но у Blackbird есть одно преимущество — он совместим с браузерами Firefox 2+, Inernet Explorer 6+, Opera 9+, Safari 2+ и Google Chrome. Firebug Lite, который также как и Blackbird работает со всеми перечисленными бразуерами, уступает ему по возможностям.

Читать дальше ➠

Tagnetic. Документация

Инструкция по установке и настройке плагина Tagnetic Tagnetic — плагин для библиотеки jQuery, который переделывает стандартное облако тэгов в холодильник с налепленными на него магнитами-тэгами. Скрипт полностью работает на стороне клиента и в случае если в браузере отключена поддержка Java-script, то пользователю будет показано стандартное облако тэгов.

Читать дальше ➠
ff-safari-chrom-jquery-cover.jpg

Баг jQuery в Firefox 3 и WebKit

Работая над очередной задачей, столкнулся с проблемой, решить которую помог Гугл. Суть проблемы заключается в том, что в библиотеке jQuery 1.2.6 некорректно работают функции width() и height() в третьем Firefox’е, а также браузерах, работающих на движке WebKitSafari и Google Chrome. Удивительно, но даже в шестом IE, с которым обычно больше всего проблем, этого глюка нет. Природа проблемы осталась мне неясной, но известно, что она проявляется только тогда, когда в html-коде подключены сначала JS-файлы, а затем CSS-файлы и пропадает если сделать наоборот — сначала подключить все CSS-файлы, а затем все JS-файлы. В новом релизе jQuery этот баг обещают исправить.

Tagnetic — холодильник тэгов

Tagnetic В ответ на флэш-скрипт от Ray Tanck, реализующий облако тэгов, стилизованное под доску с магнитами, я написал плагин для jQuery, который создает облако тэгов, стилизованное под холодильник с налепленными на него магнитами :) За графику спасибо моему другу Юре fancy13.

Плагин автоматически заменяет стандартное облако тэгов на холодильник, по этому для его работы, например, в Друпале достаточно просто подключить плагин в теле страницы и указать контейнер, в котором хранится облако. Если у пользователя выключен ява-скрипт, то ему будет показано стандартное облако тэгов.

Пока реализовал еще не все задумки, но уже есть что показать. При желании с той же страницы можно скачать тестовую версию плагина (магнит “Скачать” на холодильнике) — архив весит 1,2 мегабайта, но в нем находится PSD-исходник холодильника, два “скина” и не запакованный плагин. Конечному пользователю, чтобы увидеть холодильник, придется загрузить примерно 200 килобайт графики и плагин, размером в пару килобайт .

К сожалению, из-за использования IE PNG Fix в шестом IE скрипт заметно тормозит, возможно придется заменить пнг на гифы, для устранения этих тормозов.

В планах создание скина, в виде стены/доски с налепленными на нее бумажками-объявлениями, а также холодильника шириной в 300-400 пикселей.

Upd. Добавил прелоадер, скин шириной 400 пикселов и еще пару мелочей.

Еще обн. Выложил небольшую документацию, уже скоро работа над плагином будет завершена.

Третий упд. Запостил информацию о плагине на Хабре. Теперь придется реализовывать все предложенные там мысли :) Уже сделал пример с перетаскиваемыми магнитами.

Динамическое добавление элементов к форме

При разработке модуля Inner poll возникла задача динамического добавления элементов к форме. С помощью библиотеки jQuery эта задача решается в два счета.

Для начала пишем функцию:

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;
}

Затем создаем форму:

<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"

Разработал очередной модуль для шестого Друпала. Inner poll — модуль позволяющий прикреплять опросы к любому документу (в стандартной поставке Друпала опрос является отдельным типом документа).

Читать дальше ➠