Как стать автором
Поиск
Написать публикацию
Обновить

Галерея на Drupal 6



Задача


Сделать галерею на Drupal 6. Требования к галереи:
  • Массовая загрузка изображений;
  • Современный простой и понятный интерфейс;
  • Возможности изменения и расширения.

Решение


В репозитории друпал существует масса модулей, предназначенных для построения галерей. На практике большинство из них не удовлетворяет поставленной задаче.
Перебрав массу модулей я остановился на не самом популярном модуле Galleria. Модуль использует библиотеку jQuery Gallery.

Далее я расскажу, каким образом на основе этого модуля создать универсальный движок для сайта-галереи.
Необходимые модули:

Скачиваем и включаем.

Для работы модуля ImageAPI нужно включить модуль обработки изображений. Я использую ImageAPI GD2. Модуль Image Fupload требует наличия библиотеки swfupload.

Для настройки отображений нам необходимо создать несколько представлений наших будущих картинок. Представления создаются с помощью модуля ImageCache на странице: sitenane/admin/build/imagecache.
Я создал представление full, с эффектом Scale с размером 900х900, и представления preview и small с тем же эффектом и размером 300х300 и 150х150 соответственно.

Приступаем к настройке полей материала. Я хочу добавить галерею к типу материала «page». Для этого я создаю поля типа File и элементом редактирования Image FUpload на странице: sitenane/admin/content/node-type/page/fields.


Выполняем настройки поля photo:
  • Метод сохранения: несколько фотографий на ноду.
  • Представление превью: preview.
  • Количество переменных: не ограничено.
Остальные настройки по вкусу. Сохраняем.

В настройках отображения sitenane/admin/content/node-type/page/display для поля photo я выбираю следующие настройки:


Далее необходимо выполнить настройки галереи на странице sitenane/admin/settings/galleria.
Тут необходимо выбрать представления для большой картинки (ImageCache gallery preset) и представление для маленькой картинки-ссылки (ImageCache thumbnail preset). Я выбрал соответственно full и small.
Остальные настройки оставляем по-умолчанию.

На этом настройка галереи закончена.
Нам остается создать галерею sitenane/node/add/page.
Созданная нами галерея выглядит подобным образом:


Оказалось, что модуль Galleria использует устаревшую jQuery библиотеку. Установка jQuery Update и небольшой хак модуля Galleria решает эту проблему. В новой версии корректно работает плагин истории, галерея приобретает более подтянутый вид.

Работающий пример.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.