Как создать фотогалерею на сайте drupal ?

10 Сентябрь 2010

В данной статья я постарался наиболее полно описать процесс установки фотогалереи на сайт Drupal. Когда-то я сам потратил некоторое время на решение данной проблемы, но, к сожалению, нигде так и не нашел подробной инструкции, поэтому решил исправить данное упущение. Для установки фотогалереи нам потребуются модули Image, Lightbox2,FUpload.

Итак, идем на www.drupal.org и качаем эти модули:

http://drupal.org/project/image
http://drupal.org/project/lightbox2
http://drupal.org/project/image_fupload

Копируем скаченные модули в папку mysite/sites/all/modules. Заходим в админку и включаем эти модули. Нам потребуются Image, Image FUpload (image), Image Gallery, Image FUpload, Lightbox2.Кроме того надо учесть, что для модуля Image FUpload нам также потребуются ImageCache, ImageAPI из пакета ImageCache. В принципе, галерею можно создать без модуля FUpload, но тогда каждую фотографии придется загружать отдельно, что нудно, ну и не наш путь, мы за оптимизацию труда! Ставим галочки напротив соответствующих модулей и жмем сохранить.

Ставим галочки напротив соответствующих модулей и жмем сохранить. После проделанных операций у нас появилось следующие на странице создания материала - новый тип материала Изображение(Image). В меню «Содержание» (Управление содержанием сайта) - пункт «Галерея картинок»(Image galleries), в меню «Настройка сайта» - пункт «Images»(настройка параметров модуля Image), пункт меню «Lightbox2» (соответственно настройка параметров lightbox).

Идем в пункт меню «Галерея картинок», выбираем «Добавить галлерею», вводим название «Галерея 1», в описании «Галерея номер 1» и жмем кнопку «Сохранить». Теперь идем в пункт меню «Images», первая строчка указывает папку где будут храниться наши картинки, по умолчанию это sites/default/files/images.Далее указываем максимальный размер закачиваем ого файла, например 3Мб, вводим 3000Кб. Еще одна важная особенность на данной странице - это действия над видами изображения, которые называются «Оригинал», «Миниатюра», «Предпросмотр».

«Оригинал» - это соответственно то, что показывается пользователю, когда он нажимает просмотреть оригинал, «Миниатюра» - это уменьшенное изображение загружаемого файла, которое отображается при выводе всех картинок/фотографий галереи, «Предпросмотр» - это картинка которая отображается по нажатию на миниатюру.

Выбираем действие над видами и размер, жмем «Сохранить». Далее идем в пункт "Lightbox2" и идем в пункт « Automatic image handling » в пункт «Image node settings», в пункте «Automatic handler for image nodes» ставим "Lightbox grouped", а в «Lightbox image display size» ставим «Предпросмотр» в пункте "Image trigger size" выcтавляем - "Миниатюра". Первым действием мы назначаем обработчик событий для картинок ноды, вторым указываем какой вид изображения будет загружать Lightbox, а третьим действием указываем по нажатию на какой размер изображения автоматически будет использоваться Lightbox . Жмем сохранить.

В принципе, если бы мы не включили модуль Image FUpload (image), то на этом бы наши мучения были бы закончены, мы зашли бы в пункт меню «Создать материал» и выбрав материал «Изображение» добавили бы первую картинку/фотографию в галерею. Но так как мы, как вы помните, что мы за оптимизацию труда, то придется еще помучаться.

К этому моменту, как вы, наверное, уже заметили, Drupal нам пишет «При установке Drupal возникли проблемы. Смотрите подробности в отчете о состоянии .». Ой, что же это у нас случилось? Идем по ссылке и видим: «Image FUploadMissing or wrong files in subdirectory "swfupload". Some needed files which are not bundled with this module, are missing or out-of-date! This can be either "swfupload.swf", "swfupload.js" or "swfupload.queue.js" which should be located in "sites/all/modules/image_fupload/swfupload/". These files can be downloaded from SWFUploads project page . Note: Version 2.2.0 or higher is needed.»

Это модуль Image FUpload создает нам дополнительные проблемы, ему не хватает файлов. Оки. Идем по ссылке http://code.google.com/p/swfupload/ и качаем SWFUpload v2.2.0.1 Core.zip . Разархивируем, и добавляем в папку sites/all/modules/image_fupload/swfupload из разархивированной папки следующие файлы:

  • swfupload.swf
  • swfupload.js
  • swfupload.queue.js.

Заходим на страницу «Отчет о состоянии» и смотрим что все теперь хорошо, следовательно, мы можем добавлять фотографии в нашу фотогалерею. Ура!

Идем на пункт «Создать материал» и о чудо у нас появилась иконка для множественной загрузки фотографий, добавляем фотографии, в выпадающем списке выбираем нашу галерею и добавляем фотографии. Созданная галерея доступна по адресу www.mysite.ru/image/. А пример данной фотогалереи можно посмотреть на моем сайте www.ivanpopov.ru/image/.

Теги:
  1. hippo (не проверено)
    Втр, 06/28/2011 - 09:07

    Здравствуйте!
    Всё сделал по написанному.
    В файле модуля image_fupload.module в строке 260 строку изменил.
    Всё равно пишет:

    warning: Parameter 1 to file_validate_is_image() expected to be a reference, value given in Z:\home\abxazia\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    warning: Parameter 1 to file_validate_is_image() expected to be a reference, value given in Z:\home\abxazia\www\sites\all\modules\image_fupload\image_fupload.module on line 260.

    Подскажите кто знает,как решить?

  2. Заинтересованный (не проверено)
    Ср, 05/25/2011 - 17:00

    Таже самая проблема помогите разобраться, кто сталкивался!

  3. Slayer (не проверено)
    Пнд, 03/21/2011 - 13:55

    все поставилось после загрузки изображений предлагает кнопку next step после чего "Запрашиваемая страница не доступна" делаю под главным админом

  4. ex3m1287 (не проверено)
    Ср, 03/16/2011 - 16:59

    Все спасибо разобралась. осталось lightbox приручить)))

  5. ex3m1287 (не проверено)
    Ср, 03/16/2011 - 16:12

    Добрый день! Замысел галереи очень понравился, хочу реализовать на сайте, проделываю пункты описанные в статье, кроме настроек lightbox2(мой модуль их не поддерживает), альбом создается а фотографии в него не добавляются. Выводит ошибки:
    * warning: Parameter 1 to file_validate_is_image() expected to be a reference, value given in Q:\home\charodinskii\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    * warning: array_merge() [function.array-merge]: Argument #2 is not an array in Q:\home\charodinskii\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    * warning: array_merge() [function.array-merge]: Argument #1 is not an array in Q:\home\charodinskii\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    * warning: Parameter 1 to file_validate_is_image() expected to be a reference, value given in Q:\home\charodinskii\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    * warning: array_merge() [function.array-merge]: Argument #2 is not an array in Q:\home\charodinskii\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    * warning: array_merge() [function.array-merge]: Argument #1 is not an array in Q:\home\charodinskii\www\sites\all\modules\image_fupload\image_fupload.module on line 260.
    Помогите, пожалуйста, решить эту проблему. Заранее спасибо, с уважением ex3m1287.

  6. Заинтересованный (не проверено)
    Ср, 05/25/2011 - 16:59

    Аналогичная проблема...

    Подскажите, кто сталкивался, как решить!!!

  7. Ivan Popov
    Ср, 06/08/2011 - 12:22

    Попробуйте в файле модуля image_fupload.module в строке 260 использовать приведение типов, например, изменить строчку:
     $errors = array_merge($errors, call_user_func_array($function, $args));
    на
    $errors = array_merge((array)$errors, (array)(call_user_func_array($function, $args)));

  8. Глеб (не проверено)
    Чт, 01/20/2011 - 16:30

    Спасибо!
    Все отлично работает!

  9. Отправить комментарий

    Содержание этого поля является приватным и не предназначено к показу.
    Image CAPTCHA
    Введите символы изображенные на картинке.