Быстрая галерея

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

Аватар пользователя tmp tmp 30 октября 2007 в 3:45

Я только начал изучать Друпал, поэтому может не нашел то что мне надо было, но тем не менее пришлось самому написать маленький скрипт-модуль для галереи. Что мне надо было:
Чтоб закачать сразу достаточное количество картинок с уже готовыми под них превьюшками в определенную директорию на сервере и для каждой галереи отдельная директория, и вот чтоб дальше без лишней головной боли эти картинки подхватывались галереей. Чтоб можно было данную галерею вставлять в любом месте текста. Используется обычный просмотр директорий без использования БД. ПРобовал image - но там так и не нашел как быстро создавать для каждой галереи отдельную директорию, еще и сервер нагружает обработкой для превью , а если фотки размером 2 метра то дополнительные трудности (вопрос с хостингом и тд и тп..;)) В общем ни чего не найдя написал этот скрипт. ПРиятно было в Друпале это все подключать , хотя я толком ни чего еще не разобрал вот и решил выложить то что я наваял - может кому пригодится а может кто и посоветует как код оптимизировать, ато ведь я даже толком не разобрался зачем хуки. Решил что для моего скрипта нужны hook_insert и hook_update_index (они вроде как по описанию больше всего подходили для моей цели), но потом подумал: а может можно функции обзывать и по своему? необязательно в моей ситуации хуки? В общем приятное первое впечатление от цмс-ки:) Сам модуль можно взять здесь:
http://inweb.net.ua/soft/gal-0.1-alpha.tar.gz
А посмотреть в действии здесь
http://inweb.net.ua/gallery/?q=node/2

Комментарии

Аватар пользователя Const Const 30 октября 2007 в 9:33

Легкая галерея очень нужна. Вопрос, можно-ли вас попросить внести следующие изменения: генерировать не только иконку, но и промежуточный размер изображаения (например, 800х600); открывать промежуточное изображение не в отдельном окне, а как страницу сайта в общем стиле; иметь возможность указывать даты и подписи?

Аватар пользователя tmp tmp 30 октября 2007 в 18:50

Думаю все возможно будет реализовать, единственно проблема будет с подписями. Хотя - здесь думаю необходимо будет все же подключать БД. Smile без нее ни как . У меня как раз в планах это все интегрировать с БД . только вот как только найду свободное время - постараюсь обязательно это все реализовать и сделать настройки по человечески.;)

ЗЫ
Прошу прощения, там в приложенном readme.txt забыл указать обязательное условие для имени файла превью:
--------------------------
Обязательное условие для превью - название файла должно быть такое же как и оригинал только с префиксом TH- то есть
пример:
если оригинал: ИМЯ_ФАЙЛА.jpg
то превью: TH-ИМЯ_ФАЙЛА.jpg
-----------------------------
Уже исправил архив.

Я для обработки изображения на локальной машине использую баш-скрипт с ImageMagick:
-----------------------
#!/bin/bash
if test $# -gt 0;
then
path=$1 # Set dir to the 1st parameter
else
path=`pwd` # Set dir to the current working directory
fi
cd $path
mkdir thumbnail
for img in `ls *.jpg`
do
convert -resize 128x128 $img thumbnail/TH-$img
done
--------------------------------
Очень удобно. Указываете скрипту путь к директории где находятся изображения для создания их превью и все Wink

Аватар пользователя Const Const 31 октября 2007 в 9:55

Со скриптами: когда доводится, примерно так же делаю. Только раскладываю изображения по каталогам в зависимости от размера, а не префиксы добавляю...

P.S.
Готов поработать тестером по необходимости Smile

Аватар пользователя tmp tmp 1 ноября 2007 в 0:32

2 Const
Спасибо! Еще бы найти свободного времени , а то со временем как раз напряженка, катастрофически не хватает...

2 lsass

Тоже большое спасибо за интересную инфу! Надо будет посмотреть этот модуль , может можно будет как то объединить? Wink

2 dm66

Вы наверно не верно поняли мою цель. Мне как раз:

# можно указать размер изображений, тогда все изображения будут обрезаться до указанных размеров.
# Умеет делать thumbnail, (статичные фалы с добавлением _thumbnail к имени файла, опять же размеры можно указать в настройках модуля.

# Можно указать в какую директорию аплоадить. (с использованием дополнительного модуля [TOKEN] возможности расширяются.

На стороне сервера не надо! Мне удобней это все сделать на локальной машине а потом по фтп готовый контент залить на сервер, и вот чтоб там уже это все автоматом подхватывалось без лишней нагрузки на сервер и удаленной корректировки. Если есть такой модуль с расширенными возможностями - буду благодарен за наводку:)

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 1 ноября 2007 в 9:55

чтоб там уже это все автоматом подхватывалось без лишней нагрузки на сервер и удаленной корректировки.
А какая такая супернагрузка предполагается? Ведь обрезка файла или "изготовление" миниатюры (тумбнайла) - это разовое мероприятие, только в момент загрузки нового материала. Для сервера - это "раз чихнуть", насколько я могу судить, и он не делает это каждый раз при показе страницы. Пользователю отдаются уже готовые файлы.
Так зачем вам загружать человека рутинной и технической работой?

Аватар пользователя dm66 dm66 1 ноября 2007 в 12:30

Иногда, когда фотографий достаточно много (скажем штук 20-30), действительно удобней прогнать их все на локальной машине через скрипт и по FTP закачать на сервер, чем закачивать каждую фотографию по отдельности через web интерфейс. Тут как мне кажется дело даже не в нагрузке а в удобстве.

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 1 ноября 2007 в 12:49

Да, конечно, такое бывает удобно.
Хотя и тут есть вариант с массовым upload' ом через веб-интерфейс. У модуля image есть субмодуль такой.

Аватар пользователя dm66 dm66 31 октября 2007 в 20:04

Посмотрите тут:
http://drupal.org/node/144475

Модуль imagefield работает в паре с ССK

  • AJAX upload и delete картинок, (без перезагрузки страницы, быстро и удобно)
  • можно указать размер изображений, тогда все изображения будут обрезаться до указанных размеров.
  • Умеет делать thumbnail, (статичные фалы с добавлением _thumbnail к имени файла, опять же размеры можно указать в настройках модуля.
  • Можно указать в какую директорию аплоадить. (с использованием дополнительного модуля [TOKEN] возможности расширяются.
  • Делает уникальное имя (добавляет в конец фала цифровой код) тем самым позволяя закачать одну и ту же картинку в одну и ту же директорию несколько раз.
  • Позволяет каждому изображению дать свой ALT и TITLE описание.

Чего велосипед то изобретать? Пример работы можно посмотреть на сайте: http://hturkey.ru там фотографии каждого объекта недвижимости именно этим модулем сделаны. Чем не галерея получается? Smile

Аватар пользователя dm66 dm66 5 ноября 2007 в 20:24

Никаких дополнительных модулей не требуется. У меня все нормально работает. Размеры ресайза и миниатюры указываются в настройках модуля.

Аватар пользователя tmp tmp 4 ноября 2007 в 20:21

Видимо я не полностью объяснил. Сорри -
создавал данный модуль как раз для того чтоб иконки (превьюшки, thumbnails) создавать у себя на компьютере удобным для Вас способом (для меня в Линуксе очень удобно использовать баш скрипт который я указал выше). Потом это все выгружается на сервер... модуль только подхватывает картинки и превьюшки и генерирует страницы галеры

Аватар пользователя SVictor SVictor 1 февраля 2008 в 13:21

Мне понравился этот модуль, работает, нормально выглядит. Но без загрузки изображений пользователем он не слишком функционален.

Аватар пользователя Shelendor Shelendor 4 февраля 2008 в 2:51

tmp - а действительно, можно ли к ней добавить подписи и возможность открывать промежуточный (по размерам) вариант в том же окне? тогда лично для меня это будет то, что я искал Smile

Аватар пользователя tmp tmp 5 февраля 2008 в 16:49

Ребята, спасибо большое за отзывы. К сожалению подписи и промежуточный вариант в данной версии добавлять нельзя. Я бы с удовольствием продолжил развивать модуль и довел бы к человеческому виду, но к сожалению сейчас просто нет физической возможности поработать над этим в виду нехватки времени. За основу обработки изображений взял принцип работы http://www.phpwebgallery.net/ , как то поработал с той галереей и очень понравилась функциональность. Впринципе - уже даже думал просто интегрировать ее в друпал. Но как говорил выше - сейчас, к большому моему сожалению, не имею возможности над этим поработать Sad .