Drupal





Drupal — это open source CMS, на которой работают миллионы сайтов. Drupal известен своей масштабируемостью: благодаря модульной структуре он легко разворачивается из маленького милого создания вроде блога (или сайта-визитки) в нечто монструозное с кучей функционала и возможностей.

В этом разделе вы найдете всевозможные сниппеты, обзоры модулей, расширяющих возможности этой поистине мощной CMS, мои собственные наработки, полезные советы, которые, возможно, спасут вам несколько часов серфинга в интернетах, переводы интересных буржуйских статей а также многое и многое другое.

"Come for the software, stay for the community!"

Обзор модуля filtersIE — добавляем размытие/резкость для изображений

Обзор модуля filtersIE — добавляем размытие/резкость для картинок

Иногда дизайн сайта требует, чтобы тизеры картинок в анонсах были "размыты", либо наоборот сверхчеткие. Для различных операций с изображениями (наложение масок, ватермарков, скругление углов, поворота и еще много чего) есть отличный модуль ImageCache Actions. Но он не умеет работать с резкостью изображений. После некоторого поиска в интернетах нашел один небольшой, но классный модуль, который умеет. Итак, встречайте — filtersIE.

Drupal
03
06 '13 — 13:54:31

Импорт контента через feeds

Импорт нод через feeds

После публикации статьи об импорте/экспорте контента в друпале было много просьб рассказать подробнее про импорт через feeds. Игнорировать их не мог, поэтому все же написал более-менее подробный пост с картинками и блекджеком.

В данном посте я рассмотрел банальный импорт из csv файла контента с 4 полями: заголовок статьи, содержимое статьи, изображение и теги.

Drupal
11
04 '13 — 13:43:40

Кастомные кнопки для BUeditor

Кнопки для BUeditor

У Друпала есть один замечательный редактор — bueditor. Все разработчики его любят, поскольку он не совсем WYSIWYG, а следовательно не создает много мусора и дает полный контроль над вводимой информацией. Но, тем не менее, функция просмотра у него так же существует.

Из явных фич можно отметить:

  • Расширяемый интерфейс;
  • Возможность создавать кнопки как с иконками, так и с обычным текстом;
  • Настройка редактора по ролям
  • Поддержка html/bbcode/etc-тегов

Идея сделать свой набор кнопок c иконками мучила меня уже не первый месяц, но как-то не доходили руки. И когда на работе в ib.by мне свалилась задача таки сделать эти кнопки для клиентского сайта, я понял, что одним выстрелом двух зайцев свалить реально. Итак, представляю вам наш совместный проект — набор кнопок и иконок для bueditor.

Drupal
02
04 '13 — 12:16:16

Webform: своя валидация полей и значения по умолчанию

В этом посте решил собрать и объединить несколько плюшек по работе с модулем webform.

Валидация полей формы

Почти на всех своих проектах приходится использовать этот модуль для создания различных форм обратной связи, "заказать звонок" и т.д. Например, в форме "заказать обратный звонок" всегда есть вероятность что в поле "Номер телефона" кто-то введет "1234567" и тогда гадай что это за номер? городской? мобильный? какой оператор?

Поэтому уже взял за практику выставлять значение по умолчанию "+375 ХХ ХХХ-ХХ-ХХ", которое пользователь видит и уже что-то в этом ключе вводит. И чтобы пользователь не засабмитил форму со значением по умолчанию:

Drupal
29
03 '13 — 13:16:44

Сохранение ноды неопубликованной

Задача: при добавлении материала анонимным пользователем создавать ноду со статусом "не опубликовано".
Дополнительная плюшка: редирект после создания ноды на нужную вам страницу (по умолчанию анонимные пользователи не видят не опубликованные материалы).

Drupal
03
02 '13 — 23:19:21

Импорт и экспорт контента в Drupal 7

Импорт и экспорт нод в Drupal 7

Создавая интернет-магазины, иногда приходится предусматривать возможность импорта/экспорта продуктов из csv/xml файлов.

До недавнего времени мне доводилось работать больше с импортом продуктов из CSV. С этой задачей с легкостью справляется модуль Feeds. Иногда стандартного функционала модуля не хватало, поэтому ставился дополнительный модулек Feeds Tamper.

В двух словах, суть работы с модулем feeds в том, что создается импортер, в котором согласуются строки импортируемого файла с полями ноды.

На скриншоте настройки импортера feeds видим 2 колонки: 1ая — заголовки CSV файла, 2ая — соответствующие им поля в ноде.

Все достаточно просто и безоблачно (было до недавнего времени).

На днях пришлось поломать голову, как сделать экспорт существующего контента в csv файл. Причем такой экспорт, что этот же файл, полученный в итоге, потом можно было бы импортировать через feeds без какого-либо шаманства. То есть и экспортируемый и импортируемый файлы должны иметь одинаковую структуру, одни заголовки.

Сравнение товаров в Drupal 7

Сравнение товаров в Drupal 7

Недавно мне пришлось столкнуться с довольно тривиальной задачей — на сайте интернет-магазина необходимо было сделать сравнение товаров. То что изначально было довольно простой задачей в итоге вылилось в некоторые танцы с бубном.

Для создания страницы сравнения товаров нам понадобятся: собственно сами товары (обычные ноды), модули flag, views, ctools, views_hacks.

Итак, запасемся терпением и поехали!

Сниппет упрощенной корзины товаров в Commerce

Сниппет упрощенной корзины товаров в Commerce

Пример сниппета, который выводит то, что вы видите на картинке можно найти под катом.

Drupal
26
11 '12 — 23:35:57