Друпальчики
Статьи
jSlider Form API на Drupal.Org
Примерно год назад сделал модуль интеграции плагина jSlider в Form API шестого Друпала, назвал, соответственно, jSlider Form API. Сделал, да и выложил на домовую страницу, чтоб каждый мог воспользоваться.
А сегодня для этого модуля очень хорошие новости: благодаря Евгению Масловскому у jSlider Form API появился дом среди проектов Drupal.org: http://drupal.org/project/jslider_form_api. Именно там теперь будет осуществляться его развитие и поддержка. И порт в Drupal 7, судя по всему, там тоже будет.
И это хорошо.
Видео о нодах, полях и вкладках
В процессе глубокой работы с Drupal 7 задумал заснять несколько видеороликов с небольшими, если можно так выразиться, юзкейсами внутри. Вот первый из них. В нем рассказывается, как в «семерке» распихать поля ноды по симпатичным вкладкам без единой строчки кода.
Использованы модули:
— Fieldgroup;
— Display Suite.
Также рекомендуется к освоению:
— видеокурс по Display Suite (на английском).
Drupal и Вконтактик
Когда-то давно хотел сделать кросспостинг в контактик, но решений не было. А тут вдруг внезапно заметил — оказывается, модуль появился. Немедленно схватил и настроил. Работает!
Автору — большое спасибо! Вот, кстати, его страница. На ней еще и дизайн, я смотрю, поменялся. Блин, как я от жизни-то отстал.
DrupalConf 2 — декабрь
Вчера с удовольствием съездил на второй в этом году московский DrupalConf. Докладываю.
Выдвинулся рано утром, с помощью электрички. За пару минут до подъезда к платформе «Останкино» машинист внезапно сообщил, что, как он уже говорил (хотя он не говорил), выход — только из четырех последних вагонов (а я был впереди). Ломиться через вагоны не стал, двери все же открылись. Оказалось, платформу «Останкино» разобрали почти всю, но где-то внизу виднелась земля. Выполнил тройное сальто с винтом, кувырок через плечо, и, пробираясь по снегам, камням, глине и котлованам, добрался-таки до станции. Где меня встретил Ламер.
Drupal 7 и jQuery.once()
Некоторое время назад писал про Drupal.behaviors и jQuery в «шестерке». Там, как мы помним, чтобы одни и те же действия не выполнялись над элементами многократно, нужно было использовать контекст, а также присваивать и проверять наличие спец. класса. В общем, вот так:
$('.module-class-object:not(.module-class-processed)', context).each(function () {
$(this).addClass('module-class-processed');
// Do things
});
};
Как нетрудно догадаться, для каждого нового «поведения» этот код надо копировать (что не очень хорошо).
В Drupal 7, однако, стало гораздо удобнее: в него интегрирована новая функция jQuery — once(). Она умеет присваивать спец. классы и проверять их наличие сама. Вот так:
Drupal.behaviors.myBehavior = {
attach: function (context, settings) {
$('div.my_behavior').once(function () {
//этот код выполнится только раз для каждого div.my_behavior, независимо от числа запусков Drupal.attachBehaviors()
});
}
};
}
Прогресс, как говорится, налицо.
Единственный недостаток (если это можно считать недостатком) once() — объекту, возвращаемому селектором $(...), должно быть можно присвоить CSS-класс. То есть запись $(document).once(...) результатов не даст. А вот запись $('body').once(...) — даст.
Порт модуля user titles
Сегодня закончил порт модуля user titles в Drupal 7. По факту — добавил результат в соответствующий issue на drupal.org.
Порту подвергся основной модуль, без контрибов. Впрочем, контрибы там меньше чем по 1КБ каждый, так что если будет желание — проблем возникнуть не должно. Также не тестировал работу тайтлов-изображений (они мне сейчас просто не нужны), но код также портирован, так что если какие проблемы с картинками будут — пишите, посмотрю.
В остальном же модуль работает, титулы показывает. Выкладываю, естественно, в dev-версии, поскольку кроме меня его еще никто не тестировал. Да и вообще, надеюсь что релиз сделает уже изначальный разработчик модуля, а не я.
В процессе портирования, кстати, посчастливилось поработать с новомодным DB API. API прекрасен, одна строчка SQL-запроса средней сложности превращается в десять строчек нового кода. Правда, более понятного, да.
Файл с модулем добавлен к заметке, качайте, пользуйтесь на здоровье.
Ссылку на основного спонсора порта добавлю сюда позже, когда проект будет открыт.
upd: архив с модулем обновлен. Изменения:
— исправлен небольшой баг в hook_user_view();
— админка модуля перенесена в Configuration→People;
— добавлен порт контриб-модуля ut_userpoints (то есть интеграция с модулем userpoints) за авторством boran.
Logo Changer
Сделал для логотипов Cotranslate.Net небольшой модуль Drupal 6, обозвал logo_changer. Делюсь с общественностью.
Модуль умеет подгружать в отдельную директорию несколько логотипов и менять их в зависимости от времени суток. Для каждого логотипа в админке задается время его работы «от и до» и ставится галочка «активный» (неактивные логотипы не используются). После чего Друпал смотрит на системное время с учетом часового пояса пользователя — и выставляет соответствующий этому времени логотип.
Если кому надо — качайте, пользуйтесь.
Также в планах вставить в этот модуль «пасхальные яйца» — логотипы, появляющиеся изредка, с небольшой вероятностью. И, возможно, логотипы для отдельных страниц.
Cotranslate.Net
Пару лет назад я начал переводить сериал «Полет Конкордов». Когда перевел пару-тройку серий, пришел к выводу, что таскать с одного компьютера на другой файлы с субтитрами мне не нравится — хотелось переводить серии из разных мест без всякой синхронизации. О существовании как минимум двух систем коллективного перевода мне было известно уже тогда. Но ничего коллективного не хотелось, хотелось наоборот — переводить в одно лицо. Но чтоб в Интернете.
Далее — анонс сайта Cotranslate.Net.
Как смыть макияж со свиньи или Выход из кризиса
Накатал перевод продолжения вчерашней заметки Даниэла Кудвиена.
Оригинал тут: http://www.unleashedmind.com/en/blog/sun/crisis-conclusions
Далее перевод.
- ‹ следующие заметки
- архив за год
- предыдущие заметки ›