Graker.Ru — Друпальчики
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(...) — даст.


