Самописная фотогалерея на Drupal

Главные вкладки

Аватар пользователя edhel edhel 29 марта 2013 в 20:55

Долго использовали на сайте coppermine, который сильно устарел, неудобен, тяжело расширяем (по сравнению с drupal). Наконец дошли руки переделать на Drupal 6.x и реализовать то, что давно нужно было. Готовых тяжелых модулей для фотогалереи не использовал. Результат: http://photo.sfu-kras.ru/.

Альбомы — это нода, к которой прикрепляются фото как файлы (cck+filefield+imagefield). Недостаток такой архитектуры — заметно тормозит редактирование альбома (много js), если фото больше 100. Но делать альбомы с таким большим кол-вом фото имхо моветон. Список используемых модулей ниже.

Стандартные модули с drupal.org:

  • active_tags — более удобное прописывание ключевых слов (ключевые слова используются для поиска похожих альбомов)
  • better_formats — доп. настройки для фильтров (разный формат по умолчанию для разных ролей, скрытие справки и др.)
  • cck — для описаний альбомов
  • google_analytics — статистика
  • imageapi — требуются другими модулями
  • imagecache — масштабирование фото (используется gd2, пробовал imagemagick, имхо кач-во становилось только хуже)
  • filefield, imagefield — для прикрепления изображений к альбомам
  • imagefield_zip — для массовой загрузки фото (можно прикреплять как пачкой файлов, так и одним zip-архивом)
  • taxonomy_manager — управление ключевыми словами, используем в основном для слияния нескольких ключевых слов, если образовались дубликаты или похожие ключевые слова
  • transliteration — транслитерация имён прикрепляемых файлов, маст-хэф

Самописные для фотогалереи:

  • highslide — подключает js-библиотеку Highslide + немного самописного js-кода для оформления, навигации и проч.(используется и на других сайтах для масштабируемых фото, пример http://my.sfu-kras.ru/csk/dance/krylija)
  • photo_export — экспорт в rss, прикрепление альбомов к новостям на другом сайте (пример http://news.sfu-kras.ru/node/11895), внедрение галереи на другой сайт (пример http://ipps.sfu-kras.ru/photogallery)
  • photo_show — оформление галереи (шаблон и css для альбомов, рендеринг страниц разделов, рейтинг и проч.)
  • photo_tweaks — доп. фишки, не вошедшие в другие модули (учёт просмотров альбомов и фото, уведомление админам о новых альбомах, сортировка фото по дате из exif и проч.)

Самописные для других сайтов:

  • cache_cleaner — очистка кэша страниц при изменении/добавлении нод/комментов
  • cas_client — cas-аутентификация через cas-сервер (тоже на drupal с самописным модулем для cas-сервера, http://profile.sfu-kras.ru/)
  • functions — несколько полезных функций (вывод отладочной информации админам, форматирование русских дат, шифрование e-mail от спамеров)
  • multi_menu — блок с продвинутым меню, генерируется на основе словаря/таксономии (выделение нескольких разделов, если нода относится к нескольким пунктам меню, пример http://photo.sfu-kras.ru/node/1060 ; вывод кол-ва нод у разделов)
  • ru_share — кнопки репоста в соц. сетях и "мне нравится"
  • sfu_search — метатеги к нодам для Яндекс.Сервер, который используется для поиска по всем нашим сайтам (http://search.sfu-kras.ru/)
  • sfu_updates — для экспорта списка обновлений материалов для страницы с последними обновлениями на сайтах (http://www.sfu-kras.ru/updates)

Ещё был модуль для импорта фотоальбомов с coppermine в drupal. Сначала сделал выборку из coppermine и сохранил данные в файл в виде сериализованного массива альбомов. Потом этим модулем загрузил массив и создал ноды для всех альбомов. Также в БД сохранил старые id-шники альбомов, чтобы работали старые ссылки на альбомы вида http://photo.sfu-kras.ru/thumbnails.php?album=1297.

Комментарии

Аватар пользователя Andruxa Andruxa 10 ноября 2015 в 11:49

у меня съехали кнопки листания слайдов: назад - у левой границы экрана, а вперёд - по клику в любой области изображения

или так задумано?

fx 19, ubuntu

Аватар пользователя edhel edhel 30 марта 2013 в 6:28

Andruha, так и задумано) Дизайнера нет, приходится своими "программистскими" силами обычно обходиться)