Здравствуйте!
есть такая задача - сайт-фотоальбом. Пользователи могут присылать свои фотографии по темам.
а на сайт эти фотографии от разных пользователей должны выводитсья в соответсвующий альбом. Например, заходим в альбом "город летом" - и здесь все летние фотографии от разных пользователей.
Собственно, сложность для меня вот в чем - если я создаю тип материала, то могу вывесть вьюсой как надо. Но пользователь вынужден загружать по одной фотографии (т.е. на каждую фотографию создает новый материал) - неудобно пользователю.
Может есть какой-то модуль для таких "общественных фотоальбомов" - чтобы все могли загружать, но удалять только свои фотки?
Решение:
подошел модуль https://drupal.org/project/bulk_file_nodes - ниже в комментах его описание (http://www.drupal.ru/node/107515#comment-598859).
Комментарии
Может кто и подскажет. Но данная тема тут была не однократно. И ответа насколько я помню, не было.
Могу предложить в ноду загружать сколько влезет файлов, но оперировать именно файлами а не нодами. Приделать кнопки типа: удалить (которая на саомм деле относится к файлу)
А почему не сделать так, чтобы данные хранились по принципу "одна нода - одна фотография" ?
В этом случае впоследствии можно будет к фотке привязать и лайки, и комментарии, и многое другое.
Для тем можно использовать таксономию.
Я так понял тут стояла задача удобной загрузки большого кол-ва фоток. Ясен пень что лучше делать 1нода-1фотка, но вот загружать это дело...
Думаю, тут руками надо будет всё делать.
А перед этим хорошо продумать и точно определиться, каким образом эта загрузка будет вообще делаться.
Например, что делать с названием фотки.
Или можно ли вводить одним потоком фотки с разными тэгами.
Потом берешь, например, вот это решение http://www.plupload.com/ и внедряешь его у себя на сайте.
Там есть свои events, с их помощью аяксом создаешь ноды с фотками и всё.
Тут думаю надо делать как в ВК. Каждая нода, небольшой участок на экране и их куча со своими настройками (категория, описание), и общая кнопка сохранить.
Ооо, класс, даже модуль для дру есть. https://drupal.org/project/plupload
Тот модуль, насколько я понимаю, предназначен для того, чтобы множественные ССК-поля можно было таким образом загружить.
Думаю, в сумме проще и легче будет взять какое-нибудь JQuery-решение и интегрировать его на сайт. Документация там, как правило, есть.
Но опять же, этот вариант будет работать, если человек твердо решил это делать и у него, в случае чего, найдется время и(или) деньги, чтобы это всё реализовать.
Да, фотка == нода - это было бы лучше всего..
Придумать бы свой механизм загрузки фоток, чтобы при загрузке сразу нода и создавалась...
Так а что там придумывать ?
Берете готовое решение на JQuery, которое может подгружать несколько фоток.
У этого решения должно вызываться свое событие (event), когда очередная фотка загрузится.
В этом событии будет в том числе и имя загруженного файла.
Далее, на это событие вешаете свою AJAX-функцию, которая будет принимать параметром название файла и создавать ноду, у которой файл такой-то.
Это описание работы в общих чертах.
Кстати, как сформулировался вопрос, поиск дал варианты. Вот здесь обсуждается подобная тема:
http://www.drupal.ru/node/100966
и как варианты решений там предлагаются (кроме прочего обсуждения) вот такие модули:
https://drupal.org/project/node_gallery
https://drupal.org/project/bulk_file_nodes
https://drupal.org/project/bulk_media_upload
- вроде по описанию подходит функционал - позволяют массово загружать картинки и раскидывают картинки - каждый на свою ноду. Буду пробовать.
Если Вы знаете JavaScript/JQuery, то без особых проблем подключите вот эту библиотеку http://www.plupload.com/
Там есть и примеры с исходниками, и очень хорошая документация.
Отпишите потом о результатах.
Я тут потыкался и нашел решение.
https://drupal.org/project/bulk_file_nodes
1 нода - 1 фотка. Цепляем к типу ноды какие надо поля, таксы с разделами. И получаем в точности тоже самое что и в ВК.
ага, я же тоже эту ссылку приводил в пример. Постараюсь сегодня попробовать...
По поводу модуля https://drupal.org/project/bulk_file_nodes
- работает интересно - после установки модуля ничего внешне не изменилось
Надо создать тип материала (или взять существующий), в этом материале создать поле Изображение. Сохранить. Затем в настройках этого типа материала (первая вкладка Правка) в настройке
Bulk Photo Node Settings
выбрать созданное поле Изображение. Сохранить.
Все, затем если создать этот материал - то мы видим поле для массовой загрузки изображений - перенесли мышкой кучку файлов, кликаем Далее - фотки загрузились и мы видим список фотографий - каждой можно дать название и описание.
Справа есть область, в которой можно задать название и описание сразу для всех фоток (но у меня это не сработало).
Сохраняем и каждая фотка сохраняется как отдельный тип материала.
Далее можно создать словать таксономии и вьюсой выводить все фотки, привязанные к термину.
Таким образом решается описанная задача - все пользователи могут загружать фотки массово (сделано удобно в данном модуле), после сохранения каждая фотка становится своим отдельным материалом (нодой). Следовательно редактировать этот материал смогут только авторы. А выводить в общий альбом согласно термина таксономии.
Что не получилось - при загрузке картинок настройки, которые якобы должны задавать название и описание для всех фоток (если персонально каждой на задать название с описанием) - не срабоатло. Фотки сохранились без названия. Потом если зайти в редактирование ноды - поле "Титл" без названия стоит, хоть и обозначено как обязательное к заполнению.
А с этим модулем https://drupal.org/project/node_gallery что-то не пошло у меня.
Во-первых, как я понял, надо создавать отдельно галереи и отдельно картинки, выбирая при создании в какую галерею их относить.
Во-вторых - потребовалось поставить еще два модуля, которых в моей сборке небыло и все подглючивало - в типах материала "галерея" и "галерея items" - которые создал сам модуль появились разные дополнительные табы типа "сортировка материалов", "управления материалами" и т.п. - при переходе на них - белый экран.
Вывести галерею с картинками - так сходу - не удалось. Делаю выбор в пользу https://drupal.org/project/bulk_file_nodes
Так это Вы планируете делать проект, чтобы в дальнейшем его развивать ?
Или это будет сайт для внутреннего употребления.
Если первое, то тут еще подумайте, как будете всё это интегрировать с нормальным дизайном. Чтобы с этим потом смогли работать и обычные посетители сайта.
- с этим проблем нет, спасибо.
А вот такой вопрос созрел - модуь то булк_филе_нодес подходит. Нюанс - создаваемые ноды-фотки привязываю к словарю таксономии (для этого в типе материала добавил поле Каталог, связанное со словарем).
Так вот, если выбрать что поле Каталог обязательное к заполнению - оно появляется у каждой фотки - и как-то нелогично каждой ставить. Если поставить поле не обязательным, но выбрать значение по умолчанию, то поле у каждой фотоки скрывается в раскрывающемся списке "дополнительные настройки" -но оно там есть и умолчальное значение также влияет. В блоке справа "общие настройки" имеют меньшую значимость.
Если же значение по умолчанию не указывать, обязательность не ставить, то все работает как часы, если юзер не забудет выбрать каталог. Если забыл - ноды "потерянные" оказываются.
(пока сделаю вывод нод без привязки к термину в раздел "разное" - попробую вьюсой)
МОжет какие еще идеи есть?
Чёт я так и не догнал, что будет если поле обязательное и выставить в общих настройках?
Выход есть такой ставим модуль Entityreference prepopulate, включаем его в поле с таксой, ставим настройку что если поле заполнено сразу то Hide field + Edit, то есть и при редактировании будет скрыто. Убираем кнопарь добавить фотографии. Добавляем ссылку в каждый альбом типа "Добавить в этот альбом фотки" и урлы типа: site.ru/add/foto?field_foto=12 (ну смысл понятен, 12-это tid таксы, тем более там есть доки, в синтаксисе я мог ошибиться). Этот модуль get запросом заполняет сразу поле и скрывает его от редактирования если нужно. Только вот тут есть одна трабла, её надо протестить: я не знаю как это будет работать с модулем bulk_file_nodes, так как у него настройки поля идут только на 2й странице...
- на второй странице заливки изображений, страница поделена на две части - в левой всписок всех заливаемых фоток и у каждой обязательное поле "название", поле описание и выбор каталога.
А в правой части - общие настройки сразу для всех фоток.
Так вот, если в материале поле Каталог сделать обязательным, то оно становится обязательным не в правой части (где общие настройки), а в левой - у каждой фотографии придется выбирать каталог.
Только что пробовал заливать альбомы по 80 фоток - ес-но неудобно каждой выставлять одно и тоже.
Я пока сделал по-простому - создал вьюсу - страница с урлом misk и выводом туда всех материалов этого типа, для которых неопределен термин таксономии (т.е. значит, юзер не выбрал каталог). Таким образом, фотки хоть не теряются и юзер может их "переложить" в редактировании в нужный каталог. По одной.
А мой вариант непроконал?)