Узнал я об этих модулях из отличной статьи SadhooKlay.
Поставил себе на блог, на этот сайт, вместе со всеми исправлениями, что были замечены в вышеупомянутой статье. Пример можно посмотреть здесь: http://andyceo.ruware.com/user/5/imce_gallery/1 Вроде пока доволен...
Но у меня мультисайтинг, и ввиду этого я сделал для каждого сайта свою отдельную директорию, в которую пользователи закачивают файлы. Пользователи в связке сайтов общие. Галереи и файлы, закачиваемые в галерею, привязаны к конкретному пользователю.
Проблема заключается в том, что модуль IMCE создает для каждого пользователя подпапку вида u1, в папке сайта, предназначенной для хранения файлов. Т.е. если у меня 4 сайта, и для каждого создана своя директория файлов, у меня в каждой из этих директорий создается директория для галереи пользователя. Получается не очень хорошо... Галерея, созданная на одном сайте, пользователю нужна на другом, но все файлы, которые пользователь закачал в галерею на "родном сайте", не видны на всех остальных, т.к. в базе данных хранится только имя закаченного файла - IMCE Gallery пытается найти файлы в файловой директории "неродного" сайта, обламывается, и показывает пустую картинку. Не очень хорошо...
Возможные решения мне видятся в следующем:
- Научить IMCE и IMCE Gallery сохранять изображения в прозвольной папке, а не только в папке файлов сайта
- Сделать общую директорию файлов для всех сайтов в мультисайтовой связке
- Переделать IMCE Gallery так, чтобы он в БД хранил полный путь к файлу, тогда из "неродных" сайтов будут видны изображения, сделанные на "родном" сайте
Хочу спросить многоуважаемых посетителей, какой из вариантов лучше всего реализовать, с целью увеличения функциональности IMCE и IMCE Gallery и сохранения концепции мультисайтинга.
Оригинал статьи (исправления, дополнения и прочее будет сначала сделано там): http://andyceo.ruware.com/node/105
Комментарии
Аналогичная проблема не только с хранением файлов, сохраненных через IMCE. Аватары тоже сохраняются папке одного сайта, а отметка существовании аватара появляется в профилях юзеров на всех других сайтов, хотя у них соответствующих автаторов в папках не лежат.
Вариант 4.
Запускать в 10 минут каждого часа по крону скрипт № 1, который перекидывает файлы из папки 1-го сайта на аналогичные папки других сайтов из связки.
Запускать в 20 минут каждого часа по крону скрипт № 2, который перекидывает файлы из папки 2-го сайта на аналогичные папки других сайтов из связки.
Запускать в 30 минут каждого часа по крону скрипт № 3, который перекидывает файлы из папки 3-го сайта на аналогичные папки других сайтов из связки.
Запускать в 40 минут каждого часа по крону скрипт № 4, который перекидывает файлы из папки 4-го сайта на аналогичные папки других сайтов из связки.
Вариант 5.
Не использовать мультисайтинг.
как реализовать вариант 2?
Если мультисайтинг работает с одной файловой инсталляции, то нужно указать пути сохранения файлов для drupal и потом для imce.
При пользовании в связке с IMCE + Lightbox2 есть интересное решение - галереи.
Визуальный редактор, любой имеющий интеграцию с IMCE.